Aggregate
Architecture 🔴 SeniorDefinition
Groupe d'entites et de value objects traite comme une unite de coherence transactionnelle. Toutes les modifications passent par la racine d'agregat.
Analogie
Un bon de commande avec ses lignes : tu ne modifies jamais une ligne directement, tu passes toujours par la commande.
Exemple de code
class Order {
#items = [];
addItem(product, qty) {
this.#items.push(new OrderLine(product, qty));
this.recalculateTotal();
}
}
Cas d'usage
Garantir les invariants metier dans un perimetre transactionnel defini.
Anti-pattern
Agregats trop gros qui verrouillent trop de donnees — contention en prod.