Aggregates - Sofka-XT/ddd-generic-java GitHub Wiki
Ahora, cuando sepamos qué son las entidades y los objetos de valor, veremos el siguiente concepto importante: los agregados. Un agregado es un grupo de entidades y objetos de valor que tienen ciertas características:
-
El agregado se crea, recupera y almacena como un todo.
-
El agregado siempre está en un estado consistente.
-
El agregado es propiedad de una entidad llamada raíz de agregado, cuya identificación se utiliza para identificar el agregado en sí.
Además, existen dos restricciones importantes con respecto a los agregados:
-
Se puede hacer referencia a un agregado desde el exterior solo a través de su raíz. Los objetos fuera del agregado no pueden hacer referencia a ninguna otra entidad dentro del agregado.
-
La raíz agregada es responsable de hacer cumplir las invariantes comerciales dentro del agregado, asegurando que el agregado esté en un estado consistente en todo momento.