首页 > 代码库 > 适配器模式
适配器模式
有买过港版手机的人应该会记得
很多都是带着一个三孔转换器
而我们国产的基本上都是2个插孔的
这是一个充电器,我们也经常会叫做适配器
当然这边指的主要是从2头转换成3头,而非交流电压之间的转变
了解一个设计模式之前,我们通常都要知道其意图,也就是为了解决什么问题
适配器:为客户调用一个不适用的接口的情况,转变成另一个友好可用的接口形式。
适配器的模式使用可以理解为三块积木
三块积木交合处各不相同,积木1可和积木2交合,积木2可和积木3交合,可积木1和积木3无法交合
所以我们遇到的问题是我们需要将积木1和积木3组合起来
而我们只能用同时能和积木1和积木3组合的积木2来做此事
是故,适配器的模式就好像 小明和小红吵架了,想和好,但是两个人一说话就要再吵架,于是找了两个人都熟悉认识的小黑
小黑充当两人的和事佬,于是小明和小红就重归于好了
到此,我们应该也就知道适配器的意图了:转换不兼容的接口成为可兼容的接口
而在OO中,有两种方式实现:
- 类适配
- 对象适配
类适配,需要用到多重继承,实际上也就是同时继承现有类和想要兼容的类
对象适配则比较简单,只是让现有类或接口实现适配器的接口
最后,重述下:我们谈论的设计模式,实际上是谈论设计的意图,而非具体的形式,具体的形式中难免会有所平衡,并且也可以解释为另一种设计模式(如若不追究其设计意图,而只看实现方式的话)
最近所做的随记也都是记录设计模式的神,而非其形
共勉
适配器模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。