I my experience the rich domain model is an anti-pattern leading to highly coupled code which is fragile and difficult to maintain. I have known large commercial projects to grind to a halt following this design pattern, they get to a point where the code base cannot be economically extended because of the wide ranging impacts changes have. The reason relational databases have been so successful is because of the flexibility being able to handle multiple domain perspectives at the same time.
The reason adding save methods to entities is bad is because it can be ambiguous as to what you are persisting when you have a large object graph. I also don't think is provides a good way of supporting transactional semantics. regards Malcolm Edgar On Thu, Dec 27, 2012 at 7:51 PM, emeka okafor <emeka_1...@yahoo.com> wrote: > There is not much I can tell you about WO than pointing you to the > following link > http://www.wocommunity.org > > Regards. > > > ________________________________ > From: Juan José Gil <mat...@gmail.com> > To: user@cayenne.apache.org; emeka okafor <emeka_1...@yahoo.com> > Sent: Thursday, December 27, 2012 3:48 AM > Subject: Re: Add ActiveRecord support to Cayenne > > Pardon my ignorance, I really don't understand what do you mean with > > >>Beside that I rather do simple stuffs like the webobjects guys do. You do > not hear them complain about such > >>things like services, and dependency injection and what not > > I don't know anything about WO :( > > I would really appreciate to have some clue about that :) > > Regards, > Juanjo > > 2012/12/26 emeka okafor <emeka_1...@yahoo.com> > > > It depends on what you call service. Is a service a message call that is > > remote in the sense that it is outside of the same JVM or is a service > any > > random function that do not belong to the domain object? If I am working > in > > a j2ee/spring environment i.e I want to use ejbs or have a container > > managed my objects, then you are right and I am going to have a problem > > integrating cayenne objects into that environment and will do all kind of > > gymnastic to accomodate for that, by creating fake pojos with wrapper and > > annotations so that the container can inject those services. In this > case, > > my cayenne objects become naked(cayenne is not to blame for that). > > Personally I would rather program in groovy with metaprogramming than do > > all that stuff if I had to. Beside that I rather do simple stuffs like > the > > webobjects guys do. You do not hear them complain about such things like > > services, and dependency injection and what not. I mean, last time I > > checked, Apple Itunes > > was running on a technologie similar to cayenne. > > >