Event Bus

Architecture 🟡 Mid

Définition

Canal central de communication par evenements au sein d'une application. Les composants publient et s'abonnent sans se connaître mutuellement.

Analogie

Le tableau d'affichage d'une entreprise : n'importe qui peut y poster une annonce, n'importe qui peut la lire.

Exemple de code

class EventBus {
  #handlers = {};
  on(event, fn) { (this.#handlers[event] ??= []).push(fn); }
  emit(event, data) { this.#handlers[event]?.forEach(fn => fn(data)); }
}

Cas d'usage

Communication entre modules d'un monolithe modulaire ou composants UI découplés.

Anti-pattern

Event bus global sans typage — impossible de tracer quels events existent.
#architecture#interview#messaging

En entretien

  1. Explique le rôle d'un Event Bus.

    C'est un canal central de communication par événements au sein d'une application, où les composants publient et s'abonnent sans se connaître mutuellement — comme le tableau d'affichage d'une entreprise où n'importe qui peut poster ou lire une annonce.

  2. Dans quel contexte utiliser un Event Bus ?

    Pour la communication entre modules d'un monolithe modulaire ou entre composants UI découplés.

  3. Quel est le piège d'un Event Bus mal conçu ?

    Un event bus global sans typage, où il devient impossible de tracer quels events existent réellement dans l'application.

Fiche mise à jour le 2026-09-27

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