Protocol-Oriented Design
When Apple announced Swift 2 at the World Wide Developers Conference (WWDC) in 2016, they also declared that Swift was the world's first protocol-oriented programming (POP) language. From its name, we might assume that POP is all about protocol; however, that would be a wrong assumption. POP is about so much more than just protocol; it is actually a new way of not only writing applications but also thinking about programming.
In this chapter, we will cover the following topics:
- What is the difference between OOP and POP design?
- What is protocol-oriented design?
- What is protocol composition?
- What is protocol inheritance?
Days after Dave Abrahams did his presentation on POP at WWDC 2016, there were numerous tutorials on the internet about POP that took a very object-oriented approach to it. With this statement, I mean the approach taken by these tutorials focused on replacing the superclass with protocols and protocol...