Observer
Architecture 🟢 JuniorDéfinition
Définit une dépendance un-a-plusieurs : quand un objet change d'état, tous ses dépendants sont notifies automatiquement.
Analogie
S'abonner a une chaîne YouTube : tu es notifie a chaque nouvelle vidéo sans vérifier 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
Systèmes de notifications, réactivé UI (React state), EventEmitter Node.js.
Anti-pattern
Oublier de se désabonner — fuite mémoire classique.