Event Bus
Architecture 🟡 MidDefinition
Canal central de communication par evenements au sein d'une application. Les composants publient et s'abonnent sans se connaitre 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 decouples.
Anti-pattern
Event bus global sans typage — impossible de tracer quels events existent.