适配器(Adapter)与外观(Facade)模式
一、问题的提出
假设已有一个软件系统,你希望它能和一个新的厂商类库搭配使用,但是这个新厂商所设计出来的接口不同于旧厂商的接口(但是都能实现需要的功能),这个时候就需要写一个类,将新厂商的接口转换成你所期望的接口。这个类的对象就是 对象适配器。
二、实例说明
下面用一个实例说明适配器的工作。有一个火鸡类Turkey,现在需要将它用适配器包装起来,使他变成“鸭子”。
头文件:#ifndef ADAPTER__H #define ADAPTER__H #include <iostream> using namespace std; //定义鸭子抽象类Duck,具有叫和飞的能力 class Duck { public: virtual void quack() = 0; virtual void fly() = 0; }; //定义MallardDuck类,它是鸭子的子类 class Mall