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

Contenu supprimé Contenu ajouté
maintenance : Titre de niveau 1 commençant par un seul "=" -> deux "=" (cf. Wikipédia:WikiProject Check Wikipedia)
Ligne 13 :
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éfinidéfinie que par une classe spécialisée.
 
=== Un exemple en langage Java ===