["....]{.951453017-26052003}I don't want behavior in my entity objects - I want to put that into stateless control objects.[..."]{.951453017-26052003} [via]{.951453017-26052003}
[Harry Pierson's DevHawk Weblog]
[After double-checking to make sure Harry's isn't a J2EE blog, I've got to ask: Is this structure (stateless session / control objects, stateful entity objects without behavior) accepted by all as the universal route towards scalability? Because, if so, it points to an "object-scaling impedance mismatch" as real as the "object-relational impedance mismatch." Objects are distinguished from other constructs by having state, behavior, and identity, and the only reason for having these characteristics is because associating all three is supposed to make programming easier. If enterprise programming requires stateless control things and behaviorless entity things, then the programming language should directly support those things and make it difficult to violate that structure. J2EE is a step towards that, but it's layered on top of an object-oriented syntax, leading to confusion. If there is an "enterprise programming" paradigm, it should be refactored from OOP syntax, not simply "patched" on top. ]{.951453017-26052003}