O'Reilly logo

Implementing Domain-Driven Design by Vaughn Vernon

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Can You Handle the Responsibility?

This all seems fine and good. It appears simple enough. We have Product-Owner and TeamMember Aggregate types, and we’ve designed them so that each holds some information about the backing User from the foreign Bounded Context. But did you realize how much responsibility we’ve just assumed by designing these Aggregates that way?

Recall that in the Collaboration Context the team decided to just create immutable Value Objects that hold similar information (see “Implementing the REST Client Using an Anticorruption Layer”). Because the Values are immutable, the team will never have to worry about keeping the shared information up-to-date. Of course, the downside to that advantage is that if some of the shared information ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required