helloworld:design_pattern:observer
Ceci est une ancienne révision du document !
Table des matières
Description
Un objet (observable) contient des informations ou des actions que d'autres objets (observateurs) souhaiteraient connaître en cas de modification ou d'appel.
Java Fundamentals Tutorial_ Design Patterns Archive le 29/04/2020
Code
Java
Les interfaces et classes abstraites sont déjà implémentées dans Java.
- BeanObservable.java
package observer; import java.util.Observable; public class BeanObservable extends Observable { private int nb; public int getNb() { return nb; } public void setNb(int nb) { this.nb = nb; setChanged(); // C'est notifyObservers qui appelle clearChanged(); notifyObservers(); } }
- Observateur.java
package observer; import java.util.Observable; import java.util.Observer; public class Observateur implements Observer { @Override public void update(Observable o, Object arg) { System.out.println("Nouvelle valeur détectée : " + ((BeanObservable)o).getNb()); } }
- Main.java
package observer; public class Main { public static void main(String[] args) { // On crée l'observé et les deux observateurs BeanObservable bean = new BeanObservable(); Observateur ob1 = new Observateur(); Observateur ob2 = new Observateur(); // On lit l'observé aux observateurs bean.addObserver(ob1); bean.addObserver(ob2); // On change une valeur pour générer l'événement bean.setNb(10); } }
helloworld/design_pattern/observer.1665129050.txt.gz · Dernière modification : de root