Observer
Problème
Nous souhaitons pouvoir réaliser des actions en cas d'événement particulier sur un objet (ex : mettre à jour une interface en cas de modification de l'état de l'objet).
Solution
Nous pouvons procéder comme suit en ajoutant des "observateurs" qui seront notifiés en cas d'événement sur un "observable" :
Source https://fr.wikipedia.org/wiki/Observateur_(patron_de_conception)
Variantes
Ce principe est repris et adapté dans de nombreux langages et cadriciels :
- En JavaScript, avec
addEventListener
en standard sur les objets HTML ettrigger/on
avec JQuery. - En PHP, où nous trouverons des concepts proches dans Symfony (
EventListener
,EventSubscriber
,EventDispatcher
) - En C++, avec les mécanismes
signal/slot
dans Qt - ...