观察者模式介绍
定义一对多的关系结构,观察者监听主题对象,当主题对象发生变化时,可以通知到对应的观察者做出响应动作。
观察者模式优点
- 主题对象不需要知道具体的观察者都是谁,就可以将消息发送出去,减少了代码的耦合。
- 每个观察者可以有各种不同各种各样,主题对象也是,符合封闭开放原则。
观察者对象缺点
- 观察者对象多的话,在通知消息的时候,会比较耗时。
- 主题对象并不知道各个观察者产生的变化行为。
实现
场景: 在微信上订阅了一个游戏的订阅号,当游戏有消息的时候,会发送通知给个人订阅者。
-
定义抽象主题类和具体主题类。
-
抽象观察者类和具体的观察者对象。
-
客户端调用及结果。