Aggregate Root
Architecture 🔴 SeniorDefinition
Entite principale d'un agregat qui sert de point d'entree unique. Les objets externes ne peuvent referencer que la racine, jamais les entites internes.
Analogie
Le chef d'equipe : toute communication avec l'equipe passe par lui pour garantir la coherence.
Exemple de code
// Order est la racine, OrderLine est interne
const order = await orderRepo.findById(id);
order.addItem(product, qty); // Pas: orderLine.setQty()
await orderRepo.save(order);
Cas d'usage
Proteger les invariants metier en forçant toutes les operations via un point d'entree unique.
Anti-pattern
Acceder directement aux entites internes de l'agregat depuis l'exterieur.