问答题4题:观察者模式和发布订阅模式分别是什么?有什么区别?

难度:
更新时间:2021-07-12

参考答案:

观察者模式:一个对象(观察者)订阅另一个对象(主题),当主题被激活的时候,触发观察者里面的事件。

预览

发布订阅模式:订阅者把自己想要订阅的事件注册到调度中心,当发布者发布事件到调度中心(就是该事件被触发),再由调度中心统一调度订阅者注册到调度中心的处理代码。

预览

对比一下:

预览

可以发现两种模式下的角色数量不一样:

  • 观察者模式里,只有两个角色:观察者 和 被观察者
  • 发布订阅模式里,却不仅仅只有发布者和订阅者两个角色,还有一个调度中心

从使用场景上:

  • 观察者模式比较适合在单个应用内部使用
  • 发布订阅模式则是比较适合跨应用的场景
预览

小程序刷题更方便

预览

关注公众号获取最新面经

预览

加面试交流群

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!