适配器模式
1.何为适配器模式
将一个类的接口转换成另一种用户需要的接口,根据已有的接口来得到另一个不同的接口,来满足我们的需要
2.适配器模式的意义和使用场景
在软件系统中,由于应用环境的变化,可能需要将现有的对象放到新的环境中使用。而现有对象的接口无法满足使用需求。这时我们需要使用适配器来完成新旧接口的转换。使得一个类的接口转换成另一种希望的接口,来满足我们的需要。
3.适配器模式的实现
只需要定义一个适配器抽象基类,在定义好新的接口,再用已有的接口去实现子类中相应的新接口即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| class Target { public: virtual void request() = 0; };
class Adaptee { public: void specificRequest() { } };
class Adapter : public Target { private: Adaptee* adaptee;
public: Adapter(Adaptee* a) : adaptee(a) {}
void request() override { adaptee->specificRequest(); } };
|