JS设计模式之适配器模式

适配器模式用在现有接口跟不兼容的类和接口之间进行适配。用一个新的接口包装另一个对象。

适配器用在协调两个不同的接口。与门面模式的区别:

门面模式展现的是一个简化的接口,只是对代码及接口起到简化作用,不提供额外的选择。

适配器模式则是需要把一个接口转换为另外一个接口,完全保留接口,并且不会简化接口。

var clientObject={
    string1:'foo',
	string2:'bar',
	string3:'baz'
};
function interfaceMethod(str1,str2,str3){
    ...
}

function clientToInterfaceAdapter(o){
    interfaceMethod(o.str1,o.str2,o.str3);
}
clientToInterfaceAdapter(clientObject);

对于clientObject作为参数传递给interfaceMethod,需要使用适配器。


示例:

function $(){
    var elements=[];
	for(var i=0;i

$函数的参数可以是一个或者多个,然而get函数只有一个,可以是个字符串、HTML元素,或者是字符串跟HTML元素组成的数组。适配这两个方法如下:

function $ToGet(){
	    return get(arguments);
	}
    function GetTo$(el){
	    return $.apply(window,el instanceof Array?el:[el]);
	} 

示例:适配电子邮件API






	



这个例子很明显展示出当接口类型不一样的时候,通过适配协调的方式,完成接口的通用,增加代码的复用量。

适配器在当前条件下,框架层出不穷,又不统一的情况下,避免大规模改写代码,用新的接口对不适合的接口进行包装,协调语法的差异。


你可能感兴趣的:(javascript)