设计模式----适配器模式

本文详细介绍了适配器模式的概念及应用,通过实例说明如何在软件设计中利用适配器模式解决现有组件与系统接口不兼容的问题。适配器模式在现实生活中有着广泛的应用,如电压转换、语言翻译等。

适配器模式

适配器模式目的为了向客户提供他们所需要的接口,在适配器内部再调用我们自己已经实现的接口。在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 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;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值