Re: Why can't each Aggregate Root have its own collections of entities/ARs?
Greg Young <[email protected]>
| Newsgroups | gmane.comp.programming.domain-driven-design |
|---|---|
| Message-ID | <CAC9RQtiisr2iOcLJ3RVrT2RGkcDoGT9wfvnEByiAuv=GyRDwYg@mail.gmail.com> |
Most "systems" do. On Thursday, August 29, 2013, Maykonn Welington Candido wrote: > ** > > > I was thinking about it. A system can have multiple domains? > > ------------------------------ > To: [email protected] <javascript:_e({}, 'cvml', > '[email protected]');> > From: [email protected] <javascript:_e({}, 'cvml', '[email protected]');> > Date: Thu, 29 Aug 2013 10:19:42 +0200 > Subject: Re: [domaindrivendesign] Why can't each Aggregate Root have its > own collections of entities/ARs? > > > > No, I would prefer to have a list of continents > > class World { > List<Continent> continents = ...; > } > > > Because decoupling world and continents via id's and messages seem like > overkill. > > Now, if we were to switch from the domain of topography (the structure of > the world), to, say, financial data associated with the topography (the > financial domain), then I can see a decoupling. The Topography domain sends > messages to any other domain, like Financial, or Demography or whatever, > about changes in its model. > > Then why not all one domain model? Because the Topography model may hold > detailed information on the continents, countries, their borders, how to > render, etc which has no meaning in other domains. In the other domains the > entities just "are" a country without all the extra weight. By decoupling > and creating adapters, each domain may evolve independent of the others. > > Tom > > > > > > > On 2013-08-29 10:06, Jorge Branco wrote: > > > Hi again! > > Tom, > > Now if you take that further and say that a World needs to know how > many Countries each Continent has to perform it's responsibilities, the > only data that the World AR needs to hold is a map of ContinentID to > Country count, again maintained via domain events. > > > > If I understood you correctly, you're favoring a solution along the > lines of: > > class World { > Map<ContinentId, Integer> continentsSize = ...; > } > > > that from its inception on is updated via domain events. But if this is > indeed the case, how would you deal with this if World needed also other > things from continents other than size? Would you have a map for each one > of the needed features? > > jorge > > > On Thu, Aug 29, 2013 at 7:54 AM, Tom Eugelink <[email protected]> wrote: > > > > Hi Dennis, > > Good question; neither I guess, I'm voicing an opinion. > > In an earlier post I said that I understand the reason for this > disconnected model, and I really do see the upside. I'm not closed minded, > but I also see the downside. And I'm really in doubt if the gain outweighs > the loss. > > > > > > > On 2013-08- > > > -- Le doute n'est pas une condition agréable, mais la certitude est absurde.