I am copy/pasting my comment from this article sumarizing a post on reddit:
I really don't think "Protocol Orientation" is something new… You've
got protocols in Obj-C, you've got Interfaces in Java, Abstract
Classes in C++, etc.You can segregate interfaces and avoid inheritance by replacing it
with composition in any OO language…Please help me understand what makes Protocol Orientation different or
new. It seems to be more of a buzz-word coined by Apple to maybe push
developers into being aware and respecting SOLID principles in their
apps… By no means a bad thing, but also not something new.
What is Protocol Oriented Programming?
Is it a new programming paradigm that has the potential to be as revolutionary as structured programming and abolish the dangerous "goto" of OOP?
Or just a way of enforcing good, solid respecting design into OOP code bases?
And since nothing is ever a silver bullet, what are the pitfalls of POP?
Best Answer
Apple Inc. calls interfaces "protocols." When they say "protocol oriented" they mean programming using interfaces instead of inheritance.
From here: http://www.tutorialspoint.com/objective_c/objective_c_protocols.htm
From Objective-C Succintly:
From Objective-C for Absolute Beginners:
So, protocol oriented programming is what Objective-C and Swift programmers call what the rest of us call favoring implementing interfaces over extending classes (inheritance).
No. It's nothing new, just a different name used in the Apple developer community. Composition over inheritance has tremendous advantages though that have been discussed extensively in this forum.
At first none came to my mind, but I just found this in a forum in CodeRanch, postes by user Jim Yingst: