Observer
Architecture 🟢 JuniorDefinition
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.