« Patrons de conception/Observateur » : différence entre les versions

Contenu supprimé Contenu ajouté
Mytto (discussion | contributions)
Annulation des modifications 23495575 de 132.207.81.33 Performance plus efficace : comment, pourquoi ? Sans intérêt en l'état. Sujet à caution en outre
Ligne 6 :
= Illustration =
 
Prenons comme exemple une [[Classe (informatique)|classe]] qui produit des signaux (données observables), visualisée à travers des panneaux ('''observateurs''') d'une interface graphique. On souhaite que la mise à jour d'un signal modifie le panneau qui l'affiche. Afin d'éviter l'utilisation de [[Processus léger|thread]] ou encore d'inclure la notion de panneau dans les signaux il suffit d'utiliser le [[patron de conception]] '''observateur/observable'''.
 
Le principe est que chaque classe observable contient une liste d''''observateurs''', ainsi à l'aide d'une méthode de notification l'ensemble des '''observateurs''' est prévenu. La classe observée hérite de "Observable" qui gère la liste des '''observateurs'''. La classe '''Observateur''' est quant à elle purement [[Classe abstraite|abstraite]], la fonction de mise à jour ne pouvant être défini que par une classe spécialisée.