Just as we did with the object-oriented design, we will start off by creating a very basic diagram that demonstrates how to design the vehicle types in a protocol-oriented way. Just like the object-oriented diagram, this will be a very basic diagram that simply shows the types themselves without much detail:
![](https://static.packt-cdn.com/products/9781789349023/graphics/assets/84d1dfae-0ee0-4c7f-86a7-e172865c0d51.png)
The protocol-oriented design is relatively different from the object-oriented design. In the object-oriented design, we started the design with the superclass, which became the focus of the design and all the subclasses inherited functionality and properties from that superclass.
In the protocol-oriented design, we start the design with the protocol. The protocols and protocol extensions are the focus of the protocol-oriented design; however, as we have seen throughout this book, protocol-oriented design isn't simply...