Domain Event

Architecture 🟡 Mid

Définition

Evenement significatif qui s'est produit dans le domaine métier. Nomme au passe (OrderPlaced, PaymentReceived). Déclenché des réactions dans d'autres contextes.

Analogie

L'annonce au micro dans un magasin : 'Nouveau produit disponible en rayon 3' — tous les intéressés réagissent.

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

Découpler les side effects (emails, analytics) de la logique métier principale.

Anti-pattern

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

En entretien

  1. Qu'est-ce qu'un Domain Event ?

    C'est un événement significatif survenu dans le domaine métier, nommé au passé (OrderPlaced, PaymentReceived), qui déclenche des réactions dans d'autres contextes. C'est comme l'annonce au micro dans un magasin : tous les intéressés réagissent à l'information diffusée.

  2. Quelle erreur de nommage faut-il éviter ?

    Nommer les events comme des commandes, par exemple CreateInvoice au lieu de OrderPlaced.

  3. Pourquoi utiliser des Domain Events ?

    Pour découpler les effets de bord comme les emails ou l'analytics de la logique métier principale.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre