On 07.09.2014 12:29, kilon alios wrote:

...
Referring to the rest of your post I dont agree that we need to separate Data 
from Code,
I don't know of anybody who wants to separate data and code. May be you are thinking about DCI without having grokked it.

Smalltalk sees an object as an entity that has a unique and immutable identity and that encapsulates state and behavior.
DCI builds on this definition and has a powerful separation of concerns:

1. An object seen in isolation is specified by a class.
   This is observing the object from within its encapsulation boundary.
   A class says everything about how an object is constructed and
   nothing about how it collaborates with others.
   A DCI Data object is an object that does not collaborate with
   objects in its environment.
2. An ensemble of objects that collaborate to achieve a certain goal is
   specified by a DCI Context.
   The observation point is in the space between the objects.
   The objects are observed from outside their encapsulation boundaries,
   The message flow is visible and can be reasoned about.
   A DCI Context says everything about how objects collaborate to
   achieve a common goal
   and nothing about how they are constructed.

The Class and the Context are orthogonal concepts and form the basis of my mental model of an object computer.

Reply via email to