JavaScript设想形式系列五:适配器形式

什么是适配器形式

所谓 适配器形式 就是用一个新的接口对现有的接口举行包装,处置惩罚类与API的不婚配。运用这类形式的对象又叫作包装器。
比方我们有一个接口:

function api (x1, x2, x3) {
  console.log(x1 + x2 + x3);  // 用console.log来模仿接口的相干操纵
}

然后我们有一个对象数据:

var obj = {
  a: '我',
  b: '很',
  c: '帅'
}

我们能够发明,我们的数据和接口的参数是不婚配的,没法直接参入obj挪用该api。
这时候怎么办呢?我们能够定义一个适配器函数:

function adapter (o) {
  // 经由过程适配器函数来挪用目标api
  api(o.a, o.b, o.c);
} 

adapter(obj);
// 我很帅

如许,经由过程适配器函数 adapter() 我们就能够直接传入obj来挪用api了,类与api的不婚配题目就引刃而解了。

总结

适配器形式就是用一个新的接口对现有的接口举行包装,处置惩罚类与API的不婚配。运用这类形式的对象又叫作包装器。
实用状况

  1. 运用一个已存在的对象,但其要领或属性接口不符合我们的请求。
  2. 想要建立一个可复用对象,该对象能够与其他不相干的对象或不可见的对象协同事情
  3. 想运用的对象已存在,然则不能对每个都举行原型继续以婚配它的接口。对象适配器能够适配它的父对象接口要领或属性。

与其他形式的区分

  1. 适配器和桥接器虽然相似,但桥接的起点差别,桥接的目标是将接口部份和完成部份星散,从而对他们能够更轻易的更自力的加以转变。
  2. 装潢者形式增强了对象的功用而同时又不转变它的接口,因而它对顺序的透明度比适配器要好。
  3. 代办形式再不转变它的接口条件下,为另一接口定义一个代办。
  4. 门面形式是为了简化一个接口,不供应分外额挑选。
  5. 适配器则要把一个接口转换为另一个接口,并不会滤除某些才能也不会简化接口。
    原文作者:holyZhengs
    原文地址: https://segmentfault.com/a/1190000013273740
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞