观察者模式和订阅发布模式

观察者模式和发布/订阅模式的区别是:

  • ,最大的区别是调度的地方。虽然两种模式都存在订阅者和发布者(具体观察者可认为是订阅者、具体目标可认为是发布者),但是观察者模式是由具体目标调度的,而发布/订阅模式是统一由调度中心调的,所以观察者模式的订阅者与发布者之间是存在依赖的,而发布/订阅模式则不会。
    1. 在发布订阅模式中,组件是松散耦合的,正好和观察者模式相反。

2.观察者模式实现,最关键的是一个type用数组来存,当这个type发生时,对应这个数组的所有函数都会被执行

  • 2.1对观察者和被观察者进行建模:
image.png
3.发布/订阅模式实现

发布/订阅在JavaScript的生态系统中非常合适,主要是因为作为核心的ECMAScript 实现是事件驱动的。尤其是在浏览器环境下更是如此,因为DOM 使用事件作为其主要的用于脚本的交互API。

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容