观察者模式与发布订阅模式对比

易混淆的两个概念

作者 Trekerz 日期 2019-08-12
观察者模式与发布订阅模式对比

观察者模式:

  1. 没有一个调度中心,直接由被观察者触发观察者的update方法
  2. 观察者和被观察者抽象耦合,但观察者只知道被观察者发生了变化,不知道是怎么变化的;
  3. 一个抽象类Observer,两个角色Subject被观察者、Client观察者;
  4. 观察者Client实现Observer的update方法,被观察者Subject实现notify方法,Subject中状态改变的时候调用notify触发Client的update

发布订阅模式:

  1. 有个统一的调度中心;
  2. 发布者和订阅者通过调度中心解耦;
  3. 发布者可以自行决定调用哪些订阅者。


–end–