What OO Fails to Do

What object oriented programming fails to do is express collaborations between objects. To show you exactly what I mean, let’s take a look at two system operations (two use cases) requiring the same group of objects collaborating with each other.

(…)

DCI to the Rescue

DCI is a paradigm invented by Trygve Reenskaug (the inventor of the MVC pattern) to solve these problems.

(via Data Context Interaction: The Evolution of the Object Oriented Paradigm – SitePoint )

See also A DCI Execution Model, by Trygve Reenskaug (PDF).