适配器模式

网友投稿 662 2022-11-18

适配器模式

适配器模式

适配器模式的作⽤是解决两个软件实体间的接⼝不兼容的问题。使⽤适配器模式之后,原本 由于

接⼝不兼容⽽不能⼯作的两个软件实体可以⼀起⼯作。 适配器的别名是包装器(wrapper),这是⼀

个相对简单的模式。在程序开发中有许多这样的 场景:当我们试图调⽤模块或者对象的某个接⼝

时,却发现这个接⼝的格式并不符合⽬前的需求。 这时候有两种解决办法,第⼀种是修改原来的

接⼝实现,但如果原来的模块很复杂,或者我们拿 到的模块是⼀段别⼈编写的经过压缩的代码

修改原接⼝就显得不太现实了。第⼆种办法是创建 ⼀个适配器,将原接⼝转换为客户希望的另⼀

个接⼝,客户只需要和适配器打交道。

var googleMap = {

show: function(){

console.log( '开始渲染⾕歌地图' );

}

};

var baiduMap = {

display: function(){

console.log( '开始渲染百度地图' );

}

};

var baiduMapAdapter = {

show: function(){

return baiduMap.display();

}

};

renderMap( googleMap ); // 输出:开始渲染⾕歌地图

renderMap( baiduMapAdapter ); // 输出:开始渲染百度地图

适配器模式主要⽤来解决两个已有接⼝之间不匹配的问题,它不考虑这些接⼝是怎样实 现的,也不考虑

它们将来可能会如何演化。适配器模式不需要改变已有的接⼝,就能够 使它们协同作⽤。

装饰者模式和代理模式也不会改变原有对象的接⼝,但装饰者模式的作⽤是为了给对象 增加功能。装饰

者模式常常形成⼀条⻓的装饰链,⽽适配器模式通常只包装⼀次。代理 模式是为了控制对对象的访问,

通常也只包装⼀次。

我们设计很多插件,有默认值,也算是适配器的⼀种应⽤, vue的prop校验,default也算是适配器的

应⽤了

外观模式的作⽤倒是和适配器⽐较相似,有⼈把外观模式看成⼀组对象的适配器,但外观模式最显著的

特点是定义了⼀个新的接⼝。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CAP 定理和BASE 理论
下一篇:容器和算法2 - C++快速入门48(完)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~