共計 1192 個字符,預計需要花費 3 分鐘才能閱讀完成。
要實現觀察者模式,你可以按照以下步驟進行:
- 定義觀察者接口(Observer):該接口應該包含一個方法,用于接收被觀察者的通知。
public interface Observer {void update();
}
- 定義被觀察者接口(Subject):該接口應該包含注冊觀察者、移除觀察者和通知觀察者的方法。
public interface Subject {void registerObserver(Observer observer);
void removeObserver(Observer observer);
void notifyObservers();
}
- 實現觀察者類(具體觀察者):該類應該實現觀察者接口,并實現接收通知的方法。
public class ConcreteObserver implements Observer {@Override
public void update() {// 處理被觀察者的通知
}
}
- 實現被觀察者類(具體被觀察者):該類應該實現被觀察者接口,并實現注冊觀察者、移除觀察者和通知觀察者的方法。
public class ConcreteSubject implements Subject {private List<Observer> observers = new ArrayList<>();
@Override
public void registerObserver(Observer observer) {observers.add(observer);
}
@Override
public void removeObserver(Observer observer) {observers.remove(observer);
}
@Override
public void notifyObservers() {for (Observer observer : observers) {observer.update();
}
}
}
- 在需要使用觀察者模式的地方,創建具體觀察者和具體被觀察者對象,并進行相應的操作。
public class Main {public static void main(String[] args) {ConcreteObserver observer1 = new ConcreteObserver();
ConcreteObserver observer2 = new ConcreteObserver();
ConcreteSubject subject = new ConcreteSubject();
subject.registerObserver(observer1);
subject.registerObserver(observer2);
// 進行一些操作...
subject.notifyObservers();}
}
這樣,當被觀察者進行通知時,具體觀察者的 update()
方法將被調用,從而實現了觀察者模式。
丸趣 TV 網 – 提供最優質的資源集合!
正文完