Définition: Lorsqu'il existe une relation un-à-plusieurs entre les objets, le modèle d'observateur est utilisé. Par exemple, lorsqu'un objet est modifié, son objet dépendante sera automatiquement informé.
Caractéristiques:
1. L'observateur et l'observateur sont couplés de manière abstraite.
2. Établir un ensemble de mécanismes de déclenchement.
Applications dans le développement au niveau de l'entreprise et les cadres communs: Java est livré avec une classe d'observateurs, un filtre en servlets, des files d'attente de messages distribués
Exemple:
classe publique Demo {public static void main (String [] args) {réelSuBject sujet = new réelSubject (); Observera o1 = new Observera (); Observera O2 = New Observera (); Observera O3 = New Observera (); // Abonnez-vous au message sujet.AddObserver (O1); sujet.AddObserver (O2); sujet.AddObserver (O3); sujet.setNews ("Le temps est si beau aujourd'hui"); }} / ** * Interface d'observateur * / Interface Observer {public void Update (sujet sujet);} / ** * Objet cible, objet de diffusion * / Sujet de classe {List privé <Observer> list = new ArrayList <> (); public void addObserver (Observer O) {list.add (o); } public void removeObserver (Observer O) {list.Remove (o); } public void notifyAllObserver () {for (Observer o: list) {o.update (this); }}} class réelSubject étend le sujet {private String News; public void setNews (String News) {this.news = news; System.out.println ("Je suis une diffusion, j'ai envoyé un message"); notifyAllObserver (); } public String getNews () {return news; }} class Observera implémente Observer {private String News; Public Void Update (sujet sujet) {setNews ((((réelSubject) Sujet) .getNews ()); System.out.println ("Je suis un observateur, je reçois un message d'une diffusion à laquelle je m'abonne, et j'y répondrai ensuite"); System.out.println (getNews ());} String GetNews () nouvelles) {this.news = news;}}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.