Protocol oriented programming open the doors to programming in upper-level of inheritance.
OOP, with the helping of interface, is open enough when we talk about architecture. But programmers always have to implement it in sub classes. Unconsciously, OOP seems to…