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.