Trygve Reenskaug (MVC inventer ) and Jim Coplien (Patterns/Hillside) developed the DCI paradigm as a way model code around the roles played by objects, rather than the concrete type (class) of each object.
video: https://www.infoq.com/presentations/Reflection-OOP-Social
PDF: http://fulloo.info/Documents/RestoringFunctionAndFormToPatte...
Website: http://fulloo.info/