Re: Created DDD Exampe - Feedback?
Mirko Sertic <[email protected]>
| Newsgroups | gmane.comp.programming.domain-driven-design |
|---|---|
| Message-ID | <[email protected]> |
Hi there Thank you, and sorry for my late response. I've been to munich the last weekend, the bavarian people know how to party:-) I am using 10 for UML stuff. It has a "hand drawn" diagram type where you can place your UML artifacts, and it looks like whiteboard sketches. Nice :-) You are right, Address is immutable. Every call to changeName1() for instance results in an new Address instance. The Freelancer Aggregate is not affected by this. Once you are ready with Address manipulation(for instance the Freelancer has moved), you can call the moveTo() method of Freelancer. This will replace the existing address by the changed new one. This is quite cool because this makes the "Freelancer moved" usecase explicit. Since Address instances are immutable, it is save to make them accessible to the outside of the Freelancer aggregate without breaking the Aggregate invariance. This greatly helps to avoid an API blowup of the Freelancer Aggregate. Regards Mirko Am 10.05.2013 23:57, schrieb FabrÃcio Cabral: > Mirko, > > excellent work! Congratulations! :) > > But if you don't mind, I've some questions: > > 1. Which program do you used to draw these UML diagrams? > > 2. If Address is a Value Object then it should be immutable, isn't it? > Thus, you can't change its attributes (even using these change* methods) > > Thanks for your attention! > > > On Fri, May 10, 2013 at 2:11 PM, mirko.sertic <[email protected] > <mailto:[email protected]>> wrote: > > Hi@all > > I really like the idea of domain-driven design. Based on a project > I am working on at the moment I created a small example about what > can happen to application architecture if strategical and tactical > patterns are applied to the problem space. > > This example can be seen here: > > http://www.mirkosertic.de/doku.php/architecturedesign/dddexample > > It is far from being perfect, but it should show up a direction > about how to find subdomains, bounded contexts, aggregates, > context integration and application architecture. > > Any feedback is very welcome, so stay tuned and happy DDDing:-) > > Regards > Mirko > > > > > -- > --fx >