Of all patterns in Domain-Driven Design, Aggregates vs Aggregate Roots vs Aggregate Boundaries seem to be the most confusing. Can we clean up the naming? Can we move away from defining Aggregates from a structural point of view, and see them as managing business processes instead, using lifecycles and constraints as our primary heuristics? What tradeoffs do we need to make? How similar or different are Aggregates in Object Oriented models, in Event Sourced models, and in Actor Model? This session is an open exploration of one of the most powerful ideas in tactical DDD.
Mathias Verraes is a programmer, consultant, blogger, and trainer. He advises companies on building enterprise applications for complex business domains, and on dealing with legacy systems. He has advised for clients in Automotive, Government, Logistics, Finance, E-Commerce, and more. He teaches Domain-Driven Design courses and co-organises the DDD Europe conference. When he’s not working, he’s at home in Kortrijk, Belgium, helping his two sons build crazy Lego train tracks.