Design-Pattern--Observer

2019-03-22  本文已影响0人  74a167dfed28

定义:

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

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

观察者模式的结构:


image.png

观察者模式的优缺点:

优点

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

缺点

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

猜你喜欢

热点阅读