• 技术文章 >Web开发 >JavaScript

    js观察者模式是什么

    小妮浅浅小妮浅浅2021-06-18 16:55:17原创2365

    说明

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

    2、包括

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

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

    实例

      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观察者模式
    上一篇:js外观模式的介绍 下一篇:js观察者模式和订阅模式的区别

    相关文章推荐

    • js使用闭包的注意点• js引擎是什么意思• js中的JSON是什么• js中this的使用场景• js如何对类型进行判断• js执行上下文是什么意思• js函数执行过程的探究• js垃圾回收的场景优化• js中MomentJS构造字符串• js中diff函数的使用• js中isBefore函数如何判断• js isSame判断对象是否相同• js isBetween时间点的判断• js原型有哪些规则• js中六种基本数据类型• js如何实现类型判断• js内存的生命周期介绍• js引用计数算法是什么• js中callee是什么• js中caller是什么意思• js中join()方法的使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网