Domain Object State Holder

This is one pattern in a PatternLanguage (actually, an IdeaLanguage, hence the Form: section) on how to design systems with GemStonej. The language will soon be published in Wiki style.

See DataTransferObject, BagOfJumpingBeans.

--RandyStafford


Form: Pattern

Context: Youre developing an application using Three-Tier Distributed Object Architecture and Service-Based Architecture.

Problem: How to distribute domain objects (or their state) to remote clients?

Forces:

Solution: Rationale: Using Domain Object State Holders results in an effective balance of the forces in the context. A specific amount of encapsulated domain object state information, appropriate to the purpose at hand, can be passed by value to the remote client in a single remote invocation.

Resulting Context and Related Ideas:


I have this generically as StateObject .


This looks like the way code is organized in the SelfLanguage, in an odd, reversed sort of way. In Self, the state object sits at the front, but if you try to do some operation on it it appeals to its parent (the traits object) where you would store the code common to all of the objects in that 'class' (self is classless but its a near analogy). In self, cloning is fundamental, and it strikes me that it is a desire to clone objects that leads to this pattern too.


EditText of this page (last edited September 20, 2002) or FindPage with title or text search