JS-理解观察者模式-视频直播弹幕效果
-
观察者模式
=>定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
=>一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。
=>使用面向对象技术,可以将这种依赖关系弱化。
=>观察者和被观察者是抽象耦合的。 建立一套触发机制。
-
创建观察者
=>能设置自己的状态, 当我需要改变的时候, 要触发这个方法改变状态
export default class TimeManager{ list = new Set(); ids; static _instance; constructor() { } //时间管理者 (观察者) static get instance(){ //为每一个杯被观察者对象 创建一个时间观察对象 if(!TimeManager._instance){ Object.defineProperty(TimeManager,"_instance",{ value:new TimeManager() }) } return TimeManager._instance; } //增加 add(elem) { this.list.add(elem); if(this.list.size > 0 &&