WEB开发网
开发学院网页设计JavaScript 软件设计模式在JavaScript中的应用 阅读

软件设计模式在JavaScript中的应用

 2010-09-14 13:32:10 来源:WEB开发网   
核心提示: 接下来,定义Observer类和Subject类,软件设计模式在JavaScript中的应用(8),其中,Observer类的代码如下所示://Observer类function Observer(){}object.extend(Observer.prototype, {//实体Obse

接下来,定义Observer类和Subject类。其中,Observer类的代码如下所示:

//Observer类
function Observer(){}
object.extend(Observer.prototype, {
//实体Observer类需要覆盖Update方法
Update:function(){
return;
}
});

Subject类的代码如下:

//Subject类
function Subject(){}
Object.extend(Subject.prototype,{
//Observer对象的数组
observers:[],
//通知每一个Observer对象执行Update方法
notify:function(context){
for(var i=0; i<this.observers.length; i++)
this.observers[i].Update(context);
},
//添加一个新的Observer
addObserver:function(observer) {
if(!observer.Update)
throw new Error(“addObserver error!”);
this.observers.push(observer);
},
//删除已有的Observer
removeObserver:function(Observer) {
if(!observer.Update)
throw new Error(“removeObserver error!”);
this.observers.removeAt(this.observers.indexOf(observer));
},
});

到此为止,使用Observer模式所需要的类都已经实现。下面是使用这些类实现Observer模式的步骤:

·创建Subject对象实例;

·创建若干个Observer对象实例,分别覆盖它们的Update方法;

·将Observer对象实例订阅到Subject对象上;

·通过Subject对象发出通知,此时所有订阅了该Subject对象的Observer对象均会执行各自的Update方法;

·如果需要撤销某个Observer对象对Subject对象的订阅,可以调用removeObserver方法实现。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:软件 设计模式 JavaScript

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接