美文网首页
javascrip观察者模式(订阅者与发布者)的理解

javascrip观察者模式(订阅者与发布者)的理解

作者: Dianaou | 来源:发表于2019-01-09 23:30 被阅读0次

转:https://juejin.im/entry/580b5553570c350068e6c2d6

什么是观察者模式?

观察者模式又叫做发订阅模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生改变时就会通知所有观察着对象。它是由两类对象组成,主题和观察者,主题负责发布事件,同时观察者通过订阅这些事件来观察该主体,发布者和订阅者是完全解藕,彼此不知道对方的存在,两者仅仅共享一个自定义事件的名称。

nodejs核心模块Event提供EventEmitter对象,也实现了分布式事件。如下代码:

Pub/Sub模式代码实现:

标准浏览器(除了IE8及以下) 自定义事件的实现:

IE8及以下浏览器的实现:

兼容多种浏览器的实现:

调用如下:

相关文章

  • 观察者模式

    1、观察者模式,个人理解为发布/订阅关系。订阅者为观察者,发布者为被观察者。同时观察者模式jdk提供了自带的版本。...

  • javascrip观察者模式(订阅者与发布者)的理解

    转:https://juejin.im/entry/580b5553570c350068e6c2d6 什么是观察者...

  • 观察者模式js实现

    参看书籍JavaScript模式第七章设计模式我的理解:观察者模式又叫订阅/发布模式。被观察者(发布者)内部需要有...

  • 订阅者模式和观察者模式区别

    订阅者模式:角色分类 1、订阅者 2、订阅处理中心 3、发布者 观察者模式:角色分类 1、观察者 2、目标(被观察...

  • js设计模式(一)

    单例模式: 目的是创建全局唯一可用的对象 订阅-发布者模式 (观察者模式) 观察者模式又叫发布订阅模式(Publi...

  • JS-简单实现发布订阅模式

    发布订阅模式主要涉及三个对象:发布者、订阅者、主题对象。 发布-订阅模式 定义  发布-订阅模式又称观察者模式,它...

  • 观察者模式(Observer)

    观察者模式又称为发布订阅模式。一个发布者对应多个订阅者,一旦发布者的状态发生改变时,订阅者将收到订阅事件。本文中涉...

  • Swift-观察者模式

    观察者模式也可以叫发布订阅模式,观察者有的时候不一定能准备表达观察者模式,主要包括订阅者和发布者,状态事件处理,关...

  • 观察者模式

    "观察者模式"又叫"发布-订阅模式",其实我觉得用发布订阅挺好的。这个模式有两个主体,一个是发布者,理解为信息发布...

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

    观察者模式和发布/订阅模式的区别是: ,最大的区别是调度的地方。虽然两种模式都存在订阅者和发布者(具体观察者可认为...

网友评论

      本文标题:javascrip观察者模式(订阅者与发布者)的理解

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