适配器(Adapter)模式使用背景
日常生活经常用到各种各样的转换模块,比如:USB转HDMI,USB转串口,电源适配等等。在实际软件设计中也常常遇到类似情形,比如:已经实现类库的代码功能满足新的要求但接口不完全平匹配,不能直接使用,此时我们可以实现一个wrapper 类转换一下,转换成新需要的接口即可,从而避免了重复造车轮。这样软件可以通过适配层实现了完美复用,该方法也被称为适配器(Adapter)模式。
适配器(Adapter)模式主要应用于希望复用一些现存的类,但是接口又与新的复用环境要求不一致的情况。该模式表面看起来有点“多余”,适配层实现的功能与现有的类相同,实际上,由于软件开发维护处于不断维护更新过程中,极大可能因为不同人员、不同产品导致功能类似而接口不同的情况,因此使用适配器算是“无奈之举”。
适配器(Adapter)模式UML图
适配器(Adapter)模式代码示例
class Adaptee
{
public:
Adaptee(){}
virtual ~Adaptee(){}