Java pour l'informatique industrielle
Chapitre 1. Introduction aux objets
Chapitre 2. Les structures de contrôle
Chapitre 3. Unifier et réutiliser
Chapitre 4. Modèle, Vue et Contrôle
4.1. Motivation et fonctionnement
4.2. L'environnement graphique de Java
4.3. La gestion des événements
4.4. Cas d'étude 1 - sans notification
4.5. Cas d'étude 2 - avec notification
4.6. Nouveau modèle du compteur
4.6.1. Avec ou sans notification
4.6.2. Le pattern Décorateur
4.6.3. Le CompteurObservateur
4.6.4. Plusieurs écouteurs
Chapitre 5. Les entrées/sorties
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

4.6.3. Le CompteurObservateur

L'observateur est simplement chargé de la gestion des écouteurs (en gras), il enregistre et notifie. Il délègue la gestion de l'état à l'objet décoré (en rouge)

class CompteurObservateur implements ICompteur { private ICompteur décoré; public CompteurObservateur(ICompteur décoré) { this.décoré = décoré; } public int getEtat() { return this.décoré.getEtat(); } public void incrementer() { this.décoré.incrementer(); this.notifie(); } void notifie() { if (this.ecouteur != null) this.ecouteur.miseAJour(); } private ICompteurListener ecouteur; void addCompteurListener(ICompteurListener nouveau) { this.ecouteur = nouveau; } }

On peut décorer tout ICompteur : un compteur sans notification, un compteur modulo, un compteur rapide, etc.

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante