观察者模式是jdk中内置的模式,也是使用频率最为广泛的设计模式之一,著名的开源项目如RxJava、EventBus中都能够看到它的影子,甚至在跨进程通信中,我们也经常用到观察者模式
这里只举例一个使用jdk中内置观察者模式的例子:公众号发推送的例子,公众号发文章后,每个订阅该公众号的用户都会得到推送
观察者
1 | public class User implements Observer { |
注意,update函数中的arg即为被观察者发送出的消息,在这个例子中就是公众号发出来的消息
被观察者:推送消息
1 | public class GongZhongHao extends Observable { |
setChanged和notifyObservers两个函数要一起使用
具体使用
1 | public class Main { |
结果如下: