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:
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...