JavaScript设计模式-适配器模式

定义

Adapter,将一个类(对象)的接口(方法或者属性)转化为另外一个接口,以知足用户需求,使类(对象)之间接口的不兼容问题经过适配器得以解决javascript

生活:

现实中咱们一个手机充电线 能够用一个转接头去给各类手机充电css

准备

1)须要适配的类Adaptee前端

2)适配器Adapter java

3)目标接口Target
优化

var obj = {
			name: "你我贷",
			job: "前端"
		}
		function Person() {

		}
		var person = new Person()
		person.showInfo = function (name,job) {
			console.log(name + ' is ' + name + ' and job is ' + job);
		}
		person.showInfo(obj.name,obj.job);
                //你我贷 is 你我贷 and job is 前端

复制代码


jQuery中的适配器

上面提到的适配器写法只是表现了适配器是一个什么样的东西,但实际项目中不会出现这样的代码。咱们以jQuery中的一个API为例,说说实际应用中的适配器模式的使用方法。ui

在jQuery样式相关的API中,最方便使用的就是css()了,这个接口是把setget的功能合二为一了:spa

// 既能够像这样调用,取得opacity值
$('.elem').css('opacity');

// 也能够像这样,设置opacity值
$('.elem').css({'opacity': '0.9'});复制代码

适用场景

适配器不会去改变实现层,那不属于它的职责范围,它干涉了抽象的过程。外部接口的适配可以让同一个方法适用于多种系统。code

若是内部的实现出现了问题,须要动手术解决的话,那就不该该使用适配器了,由于那只是治标不治本的方法,反而会增长代码的复杂度。对实现进行全面优化的带来的是真正的改善。而若是实现层的问题不大,要解决一部分适配问题的话,适配器模式就是很好的选择了。对象

相关文章
相关标签/搜索