十分钟学会一个设计模式---结构模式---适配器模式

115 阅读1分钟

适配器不是在详细设计时添加的,而是解决正在服役的项目的问题

// 已经存在的功能(需要适配的类)
class Adaptee {
public:
    void process() {
        cout << "old class";
    }
};

// 客户想要调用的类
class Target {
public:
    virtual void handle() = 0;

    virtual ~Target() = default;
};

class Adapter : public Target {
public:
    Adapter() {
        this->adaptee = new Adaptee;
    }
    ~Adapter() {
        delete this->adaptee;
    }

    void handle() override {
        adaptee->process();
    }

private:
    // 需要适配类作为成员变量
    Adaptee *adaptee;
};