Table of Contents

Isn't DCI just another software design pattern?

As you may have guessed, no. :-)

Organization

The difference between DCI and traditional object orientation is that the latter organizes concepts at the extremes either of a rather free-form network structure or of a single, punitive hierarchy of forms. The DCI paradigm strives to express a network model rather than a hierarchy, but provides disciplines for intentionality of form rather than leaving it to emergence.1)

More information about the network model differences in this FAQ entry

Execution model

DCI has a different execution model than the traditional OO model. The RoleMethods in a Context are only available to a Role-playing object during the Context execution, nowhere else.

The DCI Contexts live on a stack and their Roles can carry Role-specific behavior (RoleMethods)2)