Dans le contexte du Domain-Driven Design (DDD), un agrégat est une structure logique qui regroupe plusieurs objets connexes en une unité cohérente. Il agit comme une racine d’entités, qui garantit la cohérence et l'intégrité des objets qu'il contient.
L'agrégat est responsable de la gestion des règles métier et des invariants qui s'appliquent à ses entités internes. Il expose également une interface pour interagir avec les objets contenus, tout en maintenant la cohérence des données et en préservant l'intégrité du domaine.
En utilisant des agrégats, on peut réduire la complexité en isolant les interactions complexes au sein de l'agrégat, tout en limitant les dépendances entre les différents agrégats.