FAQ
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

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 33 of 36 | next ›
Discussion Overview
groupuser @
categoriescayenne
postedDec 17, '12 at 11:09p
activeDec 30, '12 at 1:51a
posts36
users11
websitecayenne.apache.org

People

Translate

site design / logo © 2022 Grokbase