slam4:poo:designpattern:observer

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
slam4:poo:designpattern:observer [2013/04/10 12:17] – créée jcheronslam4:poo:designpattern:observer [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 6: Ligne 6:
   * La vue sera un observateur du Model.   * La vue sera un observateur du Model.
   * Le model sera observable, et permettra d'enregistrer des écouteurs (observateurs).   * Le model sera observable, et permettra d'enregistrer des écouteurs (observateurs).
 +  * La vue pourra écouter les modifications du/des modèles, et se modifier en conséquence
  
 ===== Exemple MVC : Liens Vue/modèle ===== ===== Exemple MVC : Liens Vue/modèle =====
 ==== -- Le modèle ==== ==== -- Le modèle ====
-<sxh java;title:Model>+  * Le modèle hérite de Observable 
 +  * Lors de la modification de l'un de ses membres : 
 +    * on spécifie que l'objet a changé (**setChanged**) 
 +    * on notifie les observers du changement (**notifyObservers**) 
 + 
 +<sxh java;title:exemple de Model>
 public class Model extends Observable { public class Model extends Observable {
  private String member;  private String member;
Ligne 35: Ligne 41:
 } }
 </sxh> </sxh>
- 
 ==== Une vue ==== ==== Une vue ====
-<sxh java;title:Model>+  * La vue implémente Observer, et doit à ce titre implémenter la méthode **update** 
 +  * **update** pourra traiter les changements en fonction des paramètres passés : **Observable o** correspond à l'objet modifié 
 +<sxh java;title:Exemple de Vue>
 public class View implements Observer { public class View implements Observer {
  
Ligne 50: Ligne 57:
  
 ==== --Exemple de programme ==== ==== --Exemple de programme ====
-<sxh java;title:Model>+  * Création d'une vue 
 +  * Création d'un model 
 +  * Enregistrement de la vue en tant qu'observateur du model 
 +  * Modification du model -> mise à jour de la vue 
 +<sxh java;title:Exemple de programme>
 public class Program { public class Program {
  
  • slam4/poo/designpattern/observer.1365589079.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)