Re: Vernon's book Implementing DDD and modeling of underlying concepts
"remyfannader" <[email protected]>
| Newsgroups | gmane.comp.programming.domain-driven-design |
|---|---|
| Message-ID | <[email protected]> |
Actors (e.g users) are roles that may or may not be associated to identified entities. And when they are, that may be as such (continuity of performance) or as individuals (continuity of actual agents). For instance, the system may remember a visitor as an avatar or directly as an identified person. http://caminao.wordpress.com/how-to-implement-symbolic-representations/patterns/functional-patterns/users/ Remy. --- In [email protected], Tom Eugelink <tbee@...> wrote: > > 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 > > > > > ------------------------------------