Hello All, 

I hope you don't mind me jumping into this conversation but I find it very 
interesting (particularly the discussion of rich vs. anemic domain models but 
also of the ActiveRecord approach, especially today as alternative approaches 
to persistence, under the banner of NOSQL, are gaining traction).

I haven't had anywhere near the experience with large applications / systems as 
I am sure many of you have had but I thought the very point of OO was to 
encapsulate data and behaviour.  As well, the primary purpose of MVC was to 
cleanly separate the presentation, application, and domain objects/classes.  

Of course, this doesn't mean that a domain class is naturally reusable across 
applications, especially if the perspective, scope or level of abstraction is 
different.  But that's how it should be, different domain classes may be needed 
in different applications.  If this doesn't work then OO, in a sense, has 
failed.  

There are alternatives to MVC as well though.  Recently I have been 
investigating the DCI (Data, Context, Interaction) approach developed by 
Reenskaug and Coplien.  It may address some of the issues mentioned in this 
thread, but I am not sure how the persistence layer fits into this approach. 

Finally, I am also not sure how something like ActiveRecord approach would 
actually work, or be compatible with, Cayenne.  To my mind it defeats the whole 
purpose of having a container managing the persistence of a collection of 
objects, not that AR is not an interesting / useful approach on its own.

Cheers,
Ashley.

--
Ashley Aitken
Perth, Western Australia (GMT + 8hrs!)
Social (Facebook, Twitter, Skype etc.): MrHatken 
Professional (LinkedIn, Twitter, Skype etc.): AshleyAitken


Reply via email to