Trygve Reenskaug and James O. Coplien present the DCI architecture, a new vision of Object-Oriented programming in the Agile world. James Coplien gave a stimulating talk at JAOO 2008 , now available as a video to watch , or as an article to read . The article concludes the thought provoking ideas by showing a concrete implementation that demonstrates the simplicity of the concepts, one elegantly using Scala traits.
For anyone interested in software architecture, DCI provides a fresh look at one of todays critical design issues, explaining that while objects capture structure well, they fail to capture system behavior. James Coplien establishes the rationale for breaking the architectural form into three parts, namely Data, Context and Interactions thus arriving at DCI. Traits are introduced as the design 'trick' that is used to combine 'characteristics and purpose', and proves a natural fit for Scala.