主页 > 手机  > 

观察者模式示例代码

观察者模式示例代码

观察者模式定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。常见于消息队列(MQ)、Zookeeper 事件通知等场景。

import java.util.ArrayList; import java.util.List; // 主题接口 interface Subject { void registerObserver(Observer observer); void removeObserver(Observer observer); void notifyObservers(); } // 具体主题类 class NewsAgency implements Subject { private List<Observer> observers = new ArrayList<>(); private String news; @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(news); } } public void setNews(String news) { this.news = news; notifyObservers(); } } // 观察者接口 interface Observer { void update(String news); } // 具体观察者类 class NewsChannel implements Observer { private String news; @Override public void update(String news) { this.news = news; System.out.println("Received news: " + news); } }
标签:

观察者模式示例代码由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“观察者模式示例代码