我们一起来读书吧 关注:142贴子:2,170
  • 0回复贴,共1

javascript 15-17

只看楼主收藏回复

享元模式:对于所有的数据和方法,可以把公共部分抽离出来,多个模块共享,优化系统、提高性能
模版方法模式:创建模版的基类,其他的模版在继承基类的基础上,扩展自己所需的能力即可,模版的拓展和扩建。
观察者模式:主要解决团队开发过程中模块间通信的实践,解决类和对象之间的耦合关系,解偶两个相互依赖的对象,使其依赖于观察者的消息机制。
实现:
function Observable() {
this.observers = [];
}
Observable.prototype = {
subscribe: function(observer) {
this.observers.push(observer);
},
unsubscribe: function(observer) {
this.observers = this.observers.filter(function(item) {
return item !== observer;
});
},
notify: function(data) {
this.observers.forEach(function(observer) {
observer.update(data);
});
}
};
function Observer(name) {
this.name = name;
}
Observer.prototype.update = function(data) {
console.log(this.name + ' received: ' + data);
};
var observable = new Observable();
var observerA = new Observer('Observer A');
var observerB = new Observer('Observer B');
observable.subscribe(observerA);
observable.subscribe(observerB);
observable.notify('Notification');
// Output:
// Observer A received: Notification
// Observer B received: Notification


IP属地:上海1楼2024-04-09 09:49回复