Exercices Architecture & Patterns Pattern Observer
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Pattern Observer

L'Observer (ou publish/subscribe) est un pattern ou un objet (le Sujet) maintient une liste d'abonnes (les Observateurs) et les previent automatiquement quand quelque chose se passe.

C'est comme un abonnement a une newsletter : quand un nouvel article est publie, tous les abonnes recoivent une notification. Ceux qui se sont desabonnes ne recoivent plus rien.

Ce pattern est partout : les événements dans les interfaces graphiques, les webhooks, les notifications push, les systèmes de messagerie.

Implemente le pattern Observer :
- Sujet a abonner(obs), desabonner(obs), notifier(événement)
- notifier appelle obs.recevoir(événement) sur chaque observateur
- Observateur(nom) a recevoir(événement) qui ajoute événement dans sa liste messages

Exemple :
s = Sujet()
o = Observateur('A')
s.abonner(o)
s.notifier('clic')
o.messages # ['clic']

Tests (2/4)

Notification simple
s = Sujet()
o = Observateur('A')
s.abonner(o)
s.notifier('clic')
assert o.messages == ['clic']
Plusieurs observateurs
s = Sujet()
o1, o2 = Observateur('A'), Observateur('B')
s.abonner(o1)
s.abonner(o2)
s.notifier('ping')
assert o1.messages == ['ping'] and o2.messages == ['ping']

+ 0 tests cachés

Indices (3 disponibles)

solution.py