适配器模式
适配器模式目的为了向客户提供他们所需要的接口,在适配器内部再调用我们自己已经实现的接口。在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器等。
在软件设计中也可能出现:需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它们与当前系统的接口规范不兼容,如果重新开发这些组件成本又很高,这时用适配器模式能很好地解决这些问题。
假设有一个220v的电压,我们需要把这个电压减小,以适配当前器件的使用,中间就会存在一个适配器,用来转换电压。
#include <iostream>
using namespace std;
class Cur18v
{
public:
virtual ~Cur18v(){}
virtual void useCur18v()=0;
};
class Cur220v
{
public:
virtual void useCur220v()
{
cout<<"220V"<<endl;
}
};
class Adapter : public Cur18v
{
public:
Adapter(Cur220v *cur){
this->cur = cur;
}
virtual void useCur18v()
{
cur->useCur220v();
cout<<"couvert to 18V"<<endl;
}
private:
Cur220v *cur;
};
int main()
{
Cur220v *cur220v = new Cur220v();
Adapter *adapter = new Adapter(cur220v);
adapter->useCur18v();
delete cur220v;
delete adapter;
return 0;
}
本文详细介绍了适配器模式的概念及应用,通过实例说明如何在软件设计中利用适配器模式解决现有组件与系统接口不兼容的问题。适配器模式在现实生活中有着广泛的应用,如电压转换、语言翻译等。
1253

被折叠的 条评论
为什么被折叠?



