Javascript乱弹设计模式系列(3) - 装饰者模式(Decorator)
2010-09-14 13:35:20 来源:WEB开发网类图
原理分析
现在结合Javascript,开始介绍Javascript装饰者模式,这里我举个多功能复印机的例子来说明:
1. 首先最开始我定义一个复印机接口,它会什么呢?它有说明书,要插电,可查看时间,可修理,可进行复印,有价格
那就可以这样子得到:
var IManifdder = new Interface("IManifdder", [["getDescription"],["electrify"],["watch"],["repair"],["duplicate"],["getPrice"]]);
2. 然后定义一个继承于该复印机接口的类Manifdder:
function Manifdder() {
Interface.registerImplements(this, IManifdder);
}
Manifdder.prototype = {
getDescription : function() {
//
},
electrify : function() {
//
},
watch : function() {
//
},
repair : function() {
//
},
duplicate : function() {
//打印操作
},
getPrice : function() {
return 500.0;
}
};
3. 接着定义一个继承复印机接口的装饰者抽象类:
function ManifdderDecorator(manifdder) {
this.manifdder = manifdder;
Interface.registerImplements(this, IManifdder);
}
ManifdderDecorator.prototype = {
getDescription : function() {
return this.manifdder.getDescription();
},
electrify : function() {
return this.manifdder.electrify();
},
watch : function() {
return this.manifdder.watch();
},
repair : function() {
return this.manifdder.repair();
},
duplicate : function() {
return this.manifdder.duplicate();
},
getPrice : function() {
return this.manifdder.getPrice();
}
};
Tags:Javascript 乱弹 设计模式
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接