设计模式(17)-观察者模式

观察者模式介绍

定义一对多的关系结构,观察者监听主题对象,当主题对象发生变化时,可以通知到对应的观察者做出响应动作。

观察者模式优点

  1. 主题对象不需要知道具体的观察者都是谁,就可以将消息发送出去,减少了代码的耦合。
  2. 每个观察者可以有各种不同各种各样,主题对象也是,符合封闭开放原则。

观察者对象缺点

  1. 观察者对象多的话,在通知消息的时候,会比较耗时。
  2. 主题对象并不知道各个观察者产生的变化行为。

实现

场景: 在微信上订阅了一个游戏的订阅号,当游戏有消息的时候,会发送通知给个人订阅者。

  1. 定义抽象主题类和具体主题类。

  2. 抽象观察者类和具体的观察者对象。

  3. 客户端调用及结果。

GitHub源码:https://github.com/woniuSnail/DesignPattern.git

原文地址:https://www.cnblogs.com/snailZz/p/13403536.html