Observer

Architecture 🟢 Junior

Definition

Definit une dependance un-a-plusieurs : quand un objet change d'etat, tous ses dependants sont notifies automatiquement.

Analogie

S'abonner a une chaine YouTube : tu es notifie a chaque nouvelle video sans verifier manuellement.

Exemple de code

class EventEmitter {
  #subs = new Map();
  on(event, fn) { this.#subs.set(event, [...(this.#subs.get(event) ?? []), fn]); }
  emit(event, data) { this.#subs.get(event)?.forEach(fn => fn(data)); }
}

Cas d'usage

Systemes de notifications, reactive UI (React state), EventEmitter Node.js.

Anti-pattern

Oublier de se desabonner — fuite memoire classique.
#architecture#interview#gof#behavioral