class Notifier //通知者
{
constructor() {
this.member = []
}
add(obj) {
this.member.push(obj)
console.log("已添加")
}
remove(obj) {
let temp = this.member.indexOf(obj)
this.member.splice(temp, 1)
console.log("删除成功")
}
notify() {
this.member.forEach(m => m.update())
}
}
class Observer {
constructor(name, age) {
this.name = name
this.age = age
}
update() {
console.log(this.name, "收到")
}
}
let notifier = new Notifier()
let observer1 = new Observer("张三", 23)
let observer2 = new Observer("李四", 24)
notifier.add(observer1)
notifier.add(observer2)
notifier.notify()
notifier.remove(observer1)
notifier.notify()
js实现观察者模式
最新推荐文章于 2023-03-11 20:38:23 发布