DDD Europe 2024 - Program

Aggregates: An In-depth Examination

DDD Foundations - Talk


Thomas Coopman and Gien Verschatse

Thomas CoopmanGien Verschatse
Wednesday 29 from 12:00 until 13:00

Aggregates serve as a means to encapsulate and manage related domain objects within a boundary, ensuring consistency and integrity. Understanding the scenarios in which aggregates are required is crucial for effective system design. It is also one of the most misunderstood concepts in Domain-Driven Design.

When considering aggregates within the context of bounded contexts (BC), it raises questions about their relevance:

  • Why and when do you need an aggregate?
  • Are aggregates exclusively an internal concern, relevant only within a specific BC, or do they extend their usefulness beyond these boundaries?
  • Is there a difference between invariants as perceived from the outside of a BC/service and from the inside?

This talk delves into the nuanced world of aggregates, investigating their necessity, utility, and the significance of their boundaries. We explore the fundamental questions of why and when aggregates are essential in system design and how their presence contributes to maintaining consistency and integrity. Attendees can expect to gain insights into the practical implications of aggregates, fostering a deeper appreciation for their role in effective system design.

About Thomas Coopman

Thomas Coopman has been fascinated with computers since he was a kid. Playing around at first, became programming later and after learning some programming for himself and a small detour starting studies for nursing, he went on and studied Master of Informatics at the KULeuven.

Thomas is a polyglot and loves to learn new languages. His latest language studies have taken him to Elixir, Elm, Bucklescript and he has a special affinity for functional programming languages.

Thomas is an independent software engineer and consultant focused on the full stack: frontend, backend and mostly people, practices and processes. Thomas is also currently active in the DDD Belgium and Software Craftsmanship Belgium community.

About Gien Verschatse

Gien Verschatse is an experienced consultant and software engineer that specialises in domain modelling and software architecture. She's fluent in both object-oriented and functional programming, mostly in .NET. As a Domain-Driven Design practitioner, she always looks to bridge the gaps between experts, users, and engineers.

As a side interest, she's researching the science of decision-making strategies, to help teams improve how they make technical and organisational decisions. She shares her knowledge by speaking and teaching at international conferences.

And when she is not doing all that, you'll find her on the sofa, reading a book and sipping coffee.