Featured image of post Primary card - Aggregate

Primary card - Aggregate

Un 'Aggregate' es un objeto que contiene otros 'Value objects'. Es más importante, pero todavía por si mismo no forma un 'Aggregate root', el cual le da un sentido a todo.

Especificaciones

Aggregate Primary reverse

Como es algo que agrupa una unidad de información que es relevante, pero no forma el elemento más grande, le damos una complejidad de 3

En realidad, depende de algo más grande, que se le denomina Aggregate root.

Como características a destacar, si ha de cambiar ha de ser a través de su aggregado principal, el Aggregate root.

En qué se diferencia un Aggregate de un Aggregate root

Un Aggregate (Agregado) es un conjunto de objetos relacionados que se tratan como una unidad única.

El Aggregate root por el contrario, es el punto de acceso al Aggregate. Básicamente la encapsula. El Aggregate root es la única entidad que puede ser referenciada directamente desde fuera del Aggregate, y todas las solicitudes externas deben pasar por ella.

Una ventaja que tien eel concepto de Aggregate a la hora de consumir Queries, es que lo pueden llegar a consultar sin tener que llamar a todo el Aggregate root.

Se relaciona con otros Aggregate, Value object que contiene y su Aggregate root.

¿Qué valor me aporta implementar un Aggregate?

Un Aggregate es una forma de agrupar entidades y objetos de valor para garantizar la consistencia e integridad dentro de un límite específico. Los Agregados se utilizan para hacer cumplir reglas de negocio e invariantes, y definen los límites de consistencia transaccional dentro de un sistema.

¿Cómo se expresa esta carta en el mundo real?

Como indica el icono de arriba a la izquierda, corresponde a una clase.

1
2
3
4
5
// TODO: Explicar párrafo de invariantes (Implementing DDD - 748)
// TODO: mejor concepto de identificador único en Aggregate

Reasons to Break the Rules (776)
An experienced DDD practitioner may at times decide to persist changes to multiple Aggregate instances in a single transaction, but only with good reason. What might some reasons be? I discuss four reasons here. You may experience these and others.

Licensed under CC BY-NC-SA 4.0
Creado con Hugo
Tema Stack diseñado por Jimmy