on November 3, 2010
This first book covering the new DCI paradigm of programming is a must read for anyone interested in separating the more often changing behavioral parts of code related to use cases from the more slowly evolving structural parts of domain data.
A great practical description of how the use case evolves and translates directly into code, of how to reflect the end users mental model in code - making it much more readable for both programmers and domain experts. It goes into detail about how use case roles translates to Object Roles playing out their part of a use case algorithm and how they get injected into the domain objects to use their state. And we are presented with how the Context can set up the mapping of Roles to domain Objects in different flexible ways before firing off the trigger Interaction of the use case.
Apart from example code in C++ and Ruby through out the last chapters of the book, it also have a great appendix with coded DCI examples in Scala, Python, C#, Ruby and Squeak.
For anyone interested I can also recommend visiting the Google "object-composition" group where all the concepts are discussed and explored.