ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

设计模式:观察者模式(Observer Pattern)

设计模式:观察者模式(Observer Pattern) import java.util.ArrayList; import java.util.List; /** * 观察者模式。 * author Bright Lee */ public class ObserverPattern { public static void main(String[] args) { Subject subject new AnimalKeeper(); // 饲养员主题 Observer tiger new Tiger(); // 老虎 Observer bear new Bear(); // 狗熊 Observer fox new Fox(); // 狐狸 subject.registerObserver(tiger); // 把老虎设为观察者 subject.registerObserver(bear); // 把狗熊设为观察者 subject.registerObserver(fox); // 把狐狸设为观察者 subject.notifyObservers(); // 饲养员通知所有观察者 System.out.println(); subject.removeObserver(bear); // 把狗熊从观察者名单中移除 subject.notifyObservers(); // 饲养员再次通知所有观察者 } } interface Subject { void registerObserver(Observer observer); void removeObserver(Observer observer); void notifyObservers(); } class AnimalKeeper implements Subject { private ListObserver observers new ArrayListObserver(); public void registerObserver(Observer observer) { observers.add(observer); } public void removeObserver(Observer observer) { observers.remove(observer); } public void notifyObservers() { for (Observer observer : observers) { observer.update(); } } } interface Observer { void update(); } class Tiger implements Observer { public void update() { System.out.println(老虎收到了通知。); } } class Bear implements Observer { public void update() { System.out.println(狗熊收到了通知。); } } class Fox implements Observer { public void update() { System.out.println(狐狸收到了通知。); } }打印结果如下老虎收到了通知。狗熊收到了通知。狐狸收到了通知。老虎收到了通知。狐狸收到了通知。青蛙客服系统https://download.csdn.net/download/look4liming/93326820
返回列表