javascript 适配器模式
适配器模式:将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作
例如, 我以前做了个api库,其中有个add函数,之前传递两个参数,先在呢,我想传递三个参数,但我依然想兼容以前的api
库
接口请参考前面文章
/*
* 适配器模式
* */
//以前的api 库
var fun = new Interface('fun',['add']);
var funLib = function(){
this.add=function (x,y) {
console.log(x+y);
};
Interface.ensureImplements(this,fun);
};
//新的api库
var newLib =function(){
this.add=function (x,y,z) {
console.log(x+y+z);
}
Interface.ensureImplements(this,fun);
}
//适配器类
var wraper = function(){
this.add=function (x,y,z) {
if(arguments.length>2){
newLib.add(x,y,z);
}else if(arguments.length==2){
funLib.add(x,y);
}
}
Interface.ensureImplements(this,fun);
}
wraper.add(20,30)