On Mon, Apr 27, 2009 at 2:02 PM, Peter Morris <mrpmor...@gmail.com> wrote: > > >>> > While I am aware that we could sprinkle our locks around .. should we > have to? Can we avoid these types of hard to find copy/paste bugs by > allowing say a declaration that an object is an aggregate root? > << > > Take into account though that your logical region of validation differs > based on what you are doing. As you said earlier you might have an > OrderLine as an agg-part of two completely unrelated agg-roots, in this case > there is no logical way to identify the agg-root from the OrderLine unless > you have some context as to what action is being performed. Tracing back > from OrderLine cannot possibly give you the right parent entity in this > scenario. >
An instance of an entity always belongs only to a single aggregate root. > >>> > I don't have any notion of fetching strategies because if possible I > avoid RDBMS. > << > > NH will allow you to specify fetching strategies without any DB specific > coding at all. If you are able to specify why you want something in > addition to what it is you want then you can use a plan to fetch all the > data as efficiently as possible and as you know the intention behind the > fetch you will also be able to place the correct locks in the fetch. Fetching strategies are meaningless if you store documents. My point was that they are specific to a RDBMS. If I use document based storage I have no need for fetch paths. > > In your previous DDD apps how do you identify the correct agg-root to > update? > Various ways most of which are mentioned here. I am really going through nhibernate right now to see if it is at all appropriate for use with DDD (this discussion will make a big impact on that decision). I previousy had some big *gotchas* like the fact that it can't map to constructors so you end up with weird validation stories and value objects are ... annoying at best. > > Pete > > > > > -- It is the mark of an educated mind to be able to entertain a thought without accepting it. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to nhusers@googlegroups.com To unsubscribe from this group, send email to nhusers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---