Re: Vernon's book Implementing DDD and modeling of underlying concepts
Tom Eugelink <[email protected]>
| Newsgroups | gmane.comp.programming.domain-driven-design |
|---|---|
| Message-ID | <[email protected]> |
Very valid points. As I understand now, Moderator, Author, etc actually represents the role the user has. But your other questions raise interesting points, and I don't have an answer (maybe after more consideration). It does show (to me) that this whole DDD is still very grey... Tom On 2013-06-25 16:38, backpack10000 wrote: > > hi > > > Following questions all refer to examples presented in Implementing DDD <http://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/ref=sr_1_1?s=books&ie=UTF8&qid=1372171039&sr=1-1&keywords=implementing+domain-driven+design> > > > In article we can see from Figure 6 that both *BankingAccount *and *PayeeAccount *represent the same underlying concept of /Banking Account /*BA* > > 1. On /page 64/ author gives an example of a *publishing organization*, where the life-cycle of a book goes through several stages ( p/roposing a book/, /editorial process/,/translation of the book/ ... ) and at each of those stages this book has a different definition. > > > Each stage of the book is defined in a different /Bounded Context/, but do all these different definitions still represent the same /underlying concept/ of a *Book*, just like both *BankingAccount *and *PayeeAccount *represent the same /underlying concept/ of a *BA*? > > > 2. > > a) I understand why *User *shouldn't exist in *Collaboration Context* ( CC ), but instead should be defined within*Identity and Access Context* IAC ( page 65 ). But still, do *User *( IAC ), *Moderator *( CC ), *Author* ( CC ), *Owner *( CC ) and *Participant *( CC ) all represent different aspects of the same /underlying concept/? > > b) If yes, then this means that CC contains several model elements ( *Moderator*, *Author*, *Owner* and *Participant *), each representing different aspect of the same /underlying concept/ ( just like both *BankingAccount *and *PayeeAccount *represent the same /underlying concept /of a *BA *). But isn't this considered ( according to Evans ) a *Duplication of concepts*, since several/model elements /in CC represent the same /underlying concept/? > > > c - If *Moderator*, *Author *... don't represent the same /underlying concept/, then what /underlying concept /does each represent? > > > 3. In an *e-commerce system*, the term *Customer *has multiple meanings ( page 49 ): When user is browsing the *Catalog*, *Customer *has different meaning than when user is placing an *Order*. > > > But do these two different definitions of a *Customer *represent the same /underlying concept/, just like both *BankingAccount *and *PayeeAccount *repre sent the same /underlying concept /of a *BA*? > > > thanks > >