Definition: Wenn es eine Eins-zu-Viele-Beziehung zwischen Objekten gibt, wird das Beobachtermuster verwendet. Wenn ein Objekt beispielsweise geändert wird, wird sein abhängiges Objekt automatisch benachrichtigt.
Merkmale:
1. Der Beobachter und der Beobachter sind abstrakt gekoppelt.
2. Stellen Sie eine Reihe von Auslösermechanismen fest.
Anwendungen in der Entwicklung auf Unternehmensebene und gemeinsamer Frameworks: Java wird mit Beobachterklasse, Filter in Servlets, verteilten Nachrichtenwarteschlangen geliefert
Beispiel:
public class Demo {public static void main (String [] args) {aktuellSubject Subjekt = new trupleSubject (); Observera o1 = neuer observera (); Observera o2 = new observera (); Observera o3 = neuer observera (); // Abonnieren Sie das sexuelle Subjekt.Addobserver (O1); Betreff.Addobserver (O2); Betreff.Addobserver (O3); Betreff.SetNews ("Das Wetter ist heute so gut"); }}/*** Observer Interface*/Schnittstelle Beobachter {public void update (Betreff);}/*** Zielobjekt, Broadcast -Objekt*/Klasse Betreff {private list <observer> list = new ArrayList <> (); public void Addobserver (Beobachter o) {list.add (o); } public void removeObServer (Beobachter o) {list.remove (o); } public void notifyAllObServer () {für (Observer O: list) {O.Update (this); }}} class trupleSubject erweitert Betreff {private String News; public void setNews (String News) {this.news = news; System.out.println ("Ich bin eine Sendung, ich habe eine Nachricht gesendet"); notifyAllobserver (); } public String getNews () {return News; }} class Observera implementiert Observer {private String News; public void update (Betreff) {setNews ((((tatsalSubject)) .GetNews ()); System.out.println ("Ich bin ein Beobachter, ich erhalte eine Nachricht von einer Rundfunk, die ich abonniere, und ich werde darauf reagieren"). {this.news = news;Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.