Protocol Oriented Programming has gained some traction and widely adopted ever since the WWDC talk by Dave Abrahams. Most of us already familiar with Object Oriented programming for so many years, especially with the fact that the Cocoa Touch library has been using this approach. Objective-C has used the Protocol to some degree but Swift has added more powerful features to Protocol Oriented Programming.
In this course we will look into Protocol Oriented Programming in Swift more closely and deeper to find out what it can deliver in helping us with our projects. We will start off with the understanding of Class and Struct, and how to properly initialized them based on our needs.
Class and Struct have their differences and it will impact what kind and how they can adopt to certain Protocols. Different types of Protocol property and method declarations will also affect the type of objects that can conform to its requirements.
Probably the most common use of Protocol is its role on Protocol - Delegate pattern. However we will explore many different Protocol capabilities and features, such as Protocol as type, inheritance, extension, conformance, composition, typealias to name a few.
I hope you can see the opportunity and the potential of what Protocol Oriented Programming can do in your project and am looking forward to have you joining this course.