What are the typical rules I need to pay attention to when writing DCI code?

These are the kinds of things that Marc Grue is looking at.

  1. Role constructs may not be nested inside of another role.
  2. Should all Context classes be at the same scope?
  3. A Role method may invoke only other Role methods, and the Role of the invoked method must be in the same Context as the invoking role method