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

一、观察者模式的理解

观察者模式:一个对象(称为subject)维持一系列依赖于它的对象(称为observer),将有关状态的任何变更自动通知给它们(观察者)。

二、发布/订阅模式的理解

发布/订阅模式:基于一个主题/事件通道,希望接收通知的对象(称为subscriber)通过自定义事件订阅主题,被激活事件的对象(称为publisher)通过发布主题事件的方式被通知。

上代码

1、观察者模式的应用

class Observer {
  constructor(name){
    this.name = name;
  }
  update({ type, info }){
    if(!type) {
      return;
    }
    switch (type) {
       case 'add':
       this.addEvent();
      break;
       case 'minus':
       this.minusEvent();
       
    }
  }
  addEvent() {
    console.log(`${this.name}add event`)
  }
  minusEvent() {
    console.log(`${this.name}minus event`)
  }
}

class Subject {
  constructor(){
    this.subscribeList = []
  }

  addObserver(observer){
    this.subscribeList.push(observer)
  }

  notify(task){
    this.subscrib

你可能感兴趣的:(观察者模式,发布订阅模式,js,javascript,观察者模式,开发语言)