javascript设计模式的适配器模式介绍
描述:适配器模式通常是用于接口,而不是根据应用程序或该系统的使用,以及需要引入中间层类或对象。
场景:就好像我们买了一部手机,买了之后,插头是三个插头,但是在家里,只有插座的两个插头,你怎么办为了方便和充电,你必须买一个通用充电适配器,这样手机就可以在自己家里充电,否则只能放置,或者跑到有插头的地方。
发展环境的实际,因为旧的系统,或提供第三方应用程序接口,不与我们在面向接口的编程环境的接口定义匹配,不能使用旧的,或第三方接口,然后使用适配器类是合适的匹配,让实现接口的方式进入系统或旧接口的第三方应用程序适配器类;
这样,当使用接口编程时,这个适合类可以间接调用旧系统或第三方应用程序的接口。
在Javascript实现适配器模式相似的动态面向对象语言的代码,可以用于原型继承的例子实现的;因为它是基于接口的限制,但没有Javascript接口这个东西,我们删除的界面层,界面直接实现目标的模拟,类似于源;
源码实例
1。要适应的类和接口方法:
复制代码代码如下所示:
函数的Adaptee(){
this.name = 'adaptee;
}
adaptee.prototype.getname =函数(){
返回this.name;
}
2。公共实现类{因为Javascript中没有接口,所以直接提供了实现类。
复制代码代码如下所示:
函数目标(){
this.name =目标;
}
目标。原型。queryname =函数(){
返回this.name;
}
三.适应性强的类:
复制代码代码如下所示:
功能适应(){
this.name =;
}
adapte.prototype =新受改造者();
adapte.prototype.queryname =函数(){
This.getName();
}
4。使用方法:
复制代码代码如下所示:
本地=新目标();
(局部。queryname) / /电话;共同实现类
适应适应()=新功;
(接头。queryname); / /系统或第三方应用程序接口调用老;
其他说明
以上第四个步骤,无功的地方和VAR适应类似于面向对象接口引用语言如java,C #,如:
复制代码代码如下所示:
接口的目标{
公共字符串queryname();
}
接口/引用
目标=新(的真实目标); / /上面的Javascript目标实现类
local.queryname();
适配器
目标=新适应适应();
Adapte.queryName();
适配器类是中间层接口和目标类接口,用于解决目标的需求,已经存在,但我们不能直接使用,不能与我们合作使用的代码定义,可以用于优化模式,适配器模式也被称为转换模式,包装方式;