C++设计模式适配器模式

适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将不兼容的接口转换为客户端可以使用的接口。适配器模式有两种实现方式,分别是类适配器和对象适配器。以下是一份使用C++实现类适配器模式的代码示例:

 

```c++

#include

using namespace std;

 

// 适配者类

class Adaptee {

public:

    void specificRequest() {

        cout << "Adaptee specific request" << endl;

    }

};

 

// 目标接口

class Target {

public:

    virtual void request() = 0;

};

 

// 类适配器

class Adapter : public Target, private Adaptee {

public:

    virtual void request() {

        specificRequest();

    }

};

 

int main() {

    Target* target = new Adapter();

    target->request();

    delete target;

    return 0;

}

```

 

在上面的代码中,我们定义了一个适配者类 Adaptee,该类具有自己的特殊接口(即 specificRequest 方法)。我们还定义了一个目标接口 Target,其中包含客户端需要的请求方法。我们使用类适配器模式将适配者类转换为目标接口,适配器继承了适配者类并实现了目标接口。在适配器中,我们重写了目标接口的请求方法,并在其中调用了适配者的特殊请求方法。在主函数中,我们实例化了适配器对象并调用了其请求方法。

 

类似于类适配器,对象适配器也可以将适配者对象转换为目标接口。相比于继承适配者对象,对象适配器采用组合关系来引用适配者对象。无论是类适配器还是对象适配器,都可以让我们使用不兼容的接口相互配合,从而避免了对象的修改和破坏现有的接口。

你可能感兴趣的:(c++)