首页 > Web开发 > 详细

Js设计模式(结构型)之一--适配者模式

时间:2019-12-19 17:04:52      阅读:119      评论:0      收藏:0      [点我收藏+]

Adapter 适配者模式

1、适配器模式

将一个接口转换成客户端需要的接口而不需要去修改客户端代码,使得不兼容的代码可以一起工作。

适配器主要有3个角色组成:

(1)客户端:调用接口的类

(2)适配器:用来连接客户端接口和提供服务的接口的类

(3)适配者:提供服务,但是却与客户端接口需求不兼容服务类

技术分享图片

2、简单实例

// 在客户端调用一个方法进行加法计算:
var result = add(1,2); 
// 但是我们没有提供add这个方法,但提供了同样类似功能的sum方法
function sum(v1,v2){ 
    return v1 + v2; 
} 
// 为了避免修改客户端和服务端,我们增加一个包装函数:
function add (v1,v2){ 
    reutrn sum(v1,v2); 
} 

我们在两个不兼容的接口之间添加一个包装方法,用这个方法来连接二者使其共同工作。这就是一个简单的适配器模式。

3、与其他模式的比较

Vs 代理模式

  同样都是创建一个新对象(包装一次),实现对本体的调用。但代理模式是为了管控原有对象(本体)的访问,代理的初衷并不是为兼容,并主张代理与本体对外接口保持一致。

  而适配器则是为兼容而生的 “转换器”,并不预处理请求,直接将请求转接给原接口,新接口与原接口名可能不同。

Vs 装饰器模式

  装饰者模式的作用是为对象添加功能,可添加多次,形成装饰链。而适配器只会对原有对象包装一次。

Vs 外观模式

  外观模式与适配器模式最大的区别,是定义了一个新的接口。

Js设计模式(结构型)之一--适配者模式

原文:https://www.cnblogs.com/doublewhy317/p/12060972.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!