I have been trying to learn about DCI (Data Context Interaction) (http://tidyjava.com/dci-architecture-visionary/)
It seems to me that 'roles' can be simulated by creating derived classes which inherit from a base class and have access to all the private members. Is that a reasonable statement?
Alternatively, could this be regarded as too much infrastructure? I mean, DCI seems to be about separating actions from classes. Isn't that just good ol' C, where you have functions that operate on structures?