Java中内置的设计模式-观察者模式
2018-01-14 15:03
344 查看
观察者模式是jdk中内置的模式,也是使用频率最为广泛的设计模式之一,著名的开源项目如RxJava、EventBus中都能够看到它的影子,甚至在跨进程通信中,我们也经常用到观察者模式
这里只举例一个使用jdk中内置观察者模式的例子:公众号发推送的例子,公众号发文章后,每个订阅该公众号的用户都会得到推送
注意,update函数中的arg即为被观察者发送出的消息,在这个例子中就是公众号发出来的消息
setChanged和notifyObservers两个函数要一起使用
结果如下:
这里只举例一个使用jdk中内置观察者模式的例子:公众号发推送的例子,公众号发文章后,每个订阅该公众号的用户都会得到推送
观察者
public class User implements Observer { private String Name; public User(String Name) { this.Name = Name; } @Override public void update(Observable o, Object arg) { System.out.println( Name + " 收到新推送:" + arg); } }
注意,update函数中的arg即为被观察者发送出的消息,在这个例子中就是公众号发出来的消息
被观察者:推送消息
public class GongZhongHao extends Observable { public void push(String content) { setChanged(); notifyObservers(content); } }
setChanged和notifyObservers两个函数要一起使用
具体使用
public class Main { public static void main(String[] args) { User user1 = new User("User1"); User user2 = new User("User2"); User user3 = new User("User3"); GongZhongHao gongZhongHao = new GongZhongHao(); gongZhongHao.addObserver(user1); gongZhongHao.addObserver(user2); gongZhongHao.addObserver(user3); gongZhongHao.push("比特币大跌"); } }
结果如下:
相关文章推荐
- 设计模式 - 观察者模式(Observer Pattern) Java内置 使用方法
- 设计模式 - 观察者模式(Observer Pattern) Java内置 使用方法
- Java设计模式2:观察者模式2(使用java内置的观察者)
- 设计模式 - 观察者模式(Observer Pattern) Java内置 用法
- 设计模式之二:观察者模式(java内置(气象站模拟流程))
- 设计模式-java内置观察者模式解析
- 设计模式(二)java内置的观察者模式
- java设计模式:观察者模式实例详解(基于java内置观察者)
- JAVA设计模式 之 观察者模式(JDK内置实现)
- Java设计模式—观察者模式
- java设计模式-观察者模式
- 设计模式--观察者模式初探和java Observable模式
- Java设计模式之观察者模式
- java观察者设计模式
- Java设计模式-观察者模式
- 读书笔记_java设计模式深入研究 第五章 观察者模式 Observer
- Java常用类库--观察者设计模式( Observable类Observer接口)
- JAVA设计模式之观察者模式详解
- Java设计模式之观察者模式
- java中的观察者设计模式