js观察者模式是什么

美女程序员鼓励师

说明

1、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。

2、包括

Subject:主体对象(状态发布者),维护观察者列表,添加或删除观察者。

Observer:观察者,知道自己观察的状态是描述的哪一个对象,提供更新操作。

实例

js;toolbar:false">  class Subject {

  constructor () {

    this.state = 0;

    this.observers = [];

  }

  getState () {

    return this.state;

  }

  setState (state) {

    this.state = state;

    this.notify();

  }

  notify () {

    this.observers.forEach(observer => {

      observer.update();

    })

  }

  attach (observer) {

    this.observers.push(observer);

  }

}

 

 

class Observer {

  constructor (name, subject) {

    this.name = name;

    this.subject = subject;

    this.subject.attach(this);

  }

  update () {

    console.log(`${this.name} update, state: ${this.subject.getState()}`);

  }

}

 

let sub = new Subject();

let observer1 = new Observer('o1', sub);

let observer2 = new Observer('o2', sub);

 

sub.setState(1);

以上就是js观察者模式的介绍,希望对大家有所帮助。更多js学习指路:js教程

以上是 js观察者模式是什么 的全部内容, 来源链接: utcz.com/z/545146.html

回到顶部