Domain Event

Architecture 🟡 Mid

Definition

Evenement significatif qui s'est produit dans le domaine metier. Nomme au passe (OrderPlaced, PaymentReceived). Declenche des reactions dans d'autres contextes.

Analogie

L'annonce au micro dans un magasin : 'Nouveau produit disponible en rayon 3' — tous les interesses reagissent.

Exemple de code

class OrderPlaced extends DomainEvent {
  constructor(public orderId: string, public total: number) {
    super('OrderPlaced');
  }
}
order.addEvent(new OrderPlaced(order.id, order.total));

Cas d'usage

Decoupler les side effects (emails, analytics) de la logique metier principale.

Anti-pattern

Events nommes comme des commandes (CreateInvoice au lieu de OrderPlaced).
#architecture#interview#ddd