Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slam4:poo:designpattern:observer [2013/04/10 12:40] – [Le design pattern Obserser en java] jcheron | slam4:poo:designpattern:observer [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
===== Exemple MVC : Liens Vue/modèle ===== | ===== Exemple MVC : Liens Vue/modèle ===== | ||
==== -- Le modèle ==== | ==== -- Le modèle ==== | ||
- | <sxh java; | + | * Le modèle hérite de Observable |
+ | * Lors de la modification de l'un de ses membres : | ||
+ | * on spécifie que l' | ||
+ | * 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 36: | Ligne 41: | ||
} | } | ||
</ | </ | ||
- | |||
==== 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' | ||
+ | <sxh java;title:Exemple de Vue> | ||
public class View implements Observer { | public class View implements Observer { | ||
Ligne 51: | 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' | ||
+ | * Modification du model -> mise à jour de la vue | ||
+ | <sxh java;title:Exemple de programme> | ||
public class Program { | public class Program { | ||