适配器模式

适配器模式

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
// 目标接口(Target)
class Target {
public:
virtual void request() = 0;
};

// 需要适配的类(Adaptee)
class Adaptee {
public:
void specificRequest() {
// 进行特殊的操作
}
};

// 适配器类(Adapter)
class Adapter : public Target {
private:
Adaptee* adaptee;//这里可能有很多需要适配的类

public:
Adapter(Adaptee* a) : adaptee(a) {}

void request() override {
adaptee->specificRequest();
// 进行其他适配操作
}
};