本文链接:https://blog.youkuaiyun.com/jiang7701037/article/details/79027566
代码:
原始数字:
平方:
立方:
三个数之和:
observer.js文件的内容
//1、定义观察者模式的对象(模板)
var observer = {
//订阅
addSubscriber:function(callback){
this.subscribers.push(callback);
},
//退订
removeSubscriber:function(callback){
let index = this.subscribers.indexOf(callback);
this.subscribers.splice(index,1);
},
//发布
publish:function(what){
for(let i in this.subscribers){
if(typeof this.subscribers[i]==="function"){
this.subscribers[i](what);
}
}
},
//让指定对象具备观察者的所有功能
make:function(obj){
for(let key in this){
obj[key] = this[key];
}
obj.subscribers = [];
}
}
本文深入讲解了观察者模式的实现原理,通过定义一个对象来维护其依赖对象的列表,并在状态变化时通知这些对象更新,避免了对象间的紧耦合。文章提供了观察者模式的JavaScript代码实现,包括订阅、退订和发布功能。
1040

被折叠的 条评论
为什么被折叠?



