Aggregate Root
Architecture 🔴 SeniorDéfinition
Entité principale d'un agrégat qui sert de point d'entrée unique. Les objets externes ne peuvent référencer que la racine, jamais les entités internes.
Analogie
Le chef d'équipe : toute communication avec l'équipe passe par lui pour garantir la cohérence.
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
Protéger les invariants métier en forçant toutes les opérations via un point d'entrée unique.
Anti-pattern
Accéder directement aux entités internes de l'agrégat depuis l'extérieur.