在js中观察者模式讲解
在JavaScript中,观察者模式(Observer Pattern)是一种设计模式,允许一个对象(被观察者,Subject)维护一个依赖它的对象列表(观察者,Observer),并在它自身状态发生变化时自动通知这些观察者。观察者模式的典型使用场景包括事件系统、数据绑定和实时更新等情况。
一 、观察者模式的基本结构:
1、Subject(被观察者):管理多个观察者的列表,并提供注册、注销和通知功能。
2、Observer(观察者):定义更新接口,并在被观察者状态改变时做出响应。
观察者模式的实现代码解释
// 被观察者(Subject)
function Subject() {
this.observers = []; // 用于存放观察者
}
// 被观察者的原型方法
Subject.prototype = {
// 注册观察者
subscribe(observer) {
this.observers.push(observer);
},
// 注销观察者
unsubscribe(observer) {
this.observers = this.observers.filter((obs) => obs !== observer);
},
// 通知所有观察者
notify(data) {
this.observers.forEach((observer) => o