DCI paradigm focuses on communication between objects and makes it explicit. It improves the readability of the code, which helps programmers to reason about their programs.
The vision of object-oriented programming was to capture the end user mental model in the code. Until recently, programming languages weren't able to do that. With DCI, we can now use most professional programming languages to achieve the object vision—which is curiously similar to the goals of Agile software development. We now can capture both domain structure and structures from user experience analysts. Learn how in this seminar—and learn more in Rickard Öberg's associated presentation!<span>This talk is the second of three in an Øredev series.</span>Edit Remove Move
<span>Another awesome talk by James Coplien, but this one is more recent. This talk is provocative. It makes you think about object-oriented programming and software in general. It’s inspiring. You’ll want to try out DCI right after you finish watching. </span>Edit Remove Move
Jim briefly introduces the core concepts of the Data Context Interaction paradigm and gives some advice on how to implement it in Ruby. My recommendation is to check this talk out after you’ve watched one of Coplien’s talks.Edit Remove Move
This article is a practical introduction to DCI (Data Context Interaction). I’m not going to explain all theory behind it. Instead, I’m going to show you what kind of problems DCI is trying to solve and how it can be implemented in Ruby.Edit Remove Move
Writing small and easily testable methods can certainly clean things up, but as your application grows your classes start to know too much. Large classes means a large cognitive overhead for understanding how things work, or why they don’t.Edit Remove Move
DCI stands for Data Context Interaction. It was invented by <a target="_blank" rel="nofollow" href="http://en.wikipedia.org/wiki/Trygve_Reenskaug" title="Link: http://en.wikipedia.org/wiki/Trygve_Reenskaug">Trygve Reenskaug</a><span>, the same scientists who formulated MVC. It's a new paradigm, but it's very similar to OOP and fits especially well with the MVC architecture that we use in Rails applications.</span>Edit Remove Move
<span>Many articles found in the Ruby community largely oversimplify the use of DCI. These articles, including this one</span><span>, highlight how DCI injects Roles into objects at runtime, the essence of the DCI architecture.</span>Edit Remove Move