美文网首页
Design-Pattern--Observer

Design-Pattern--Observer

作者: 74a167dfed28 | 来源:发表于2019-03-22 22:18 被阅读0次

定义:

观察者模式定义了一个一对多的依赖关系,让一个或者多个观察者对象监听一个主题对象。主题对象的状态发生变化,能够通知所有依赖与此对象的观察者对象,使观察者对象能够自动更新。

观察者模式是对象的行为模式。又称发表订阅模式(publish/subscribe)、模型-视图模式(model/view)。

观察者模式的结构:


image.png
  • 抽象主题角色Subject 保存了所有的观察者对象的引用
  • 抽象观察者角色Observer
  • 具体主题ConcreteSubject
  • 具体观察者ConcreteObserver

观察者模式的优缺点:

优点

  1. 观察者和被观察者之间是抽象的耦合,被观察者只是知道一个具体观察者的列表,每个具体观察者都符合一个抽象观察者的接口。
  2. 支持广播通信,被观察者会向所有登记过的观察者发出通知。

缺点

  1. 观察者过多,通知比较耗时
  2. 观察者和被观察者之间有循环依赖,会导致系统崩溃
  3. 如果是通知是异步的话,必须保证投递是以自洽的方式进行
  4. 观察者不知道被观察者是怎么样发生变化的。

相关文章

  • Design-Pattern--Observer

    定义: 观察者模式定义了一个一对多的依赖关系,让一个或者多个观察者对象监听一个主题对象。主题对象的状态发生变化,能...

网友评论

      本文标题:Design-Pattern--Observer

      本文链接:https://www.haomeiwen.com/subject/kepdvqtx.html