本文实例代码:https://github.com/JamesZBL/java_design_patterns
观察者(Observer)模式实现了一种一对多的通信方式,它的核心是由多个对象监听中心对象,中心对象发生某种变化时将这个变化通知给关注它的周边对象,所以,它又被称为 “订阅-发送” 模式。
在现实生活中也有许多和观察者模式的运作方式相似的例子,比如当我们订阅某个公众号后,一旦该公众号的主人发不了新的文章或消息,所有订阅这个公众号的用户都会受到这个消息。这些用户就对应着观察者模式里的订阅者,公众号对应着发布者,一旦订阅者对关注点失去了兴趣,就会取消对发布者的订阅,也就不会再受到发布者的任何消息了。所以,实现观察者模式的主要方法就是订阅和发布。