适配器模式属于结构型的设计模式 [类的适配器] [对象适配器] , 它是结构型设计模式之首(用的最多的结构型设计模式)。
适配器设计模式也并不复杂,适配器它是主要作用是将一个类的接口转换成客户希望的另外一个接口
这样使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
优点
1.屏蔽了具体的实现方式,实现了依赖倒转。
2.可以把不统一的接口封装起来,使之成为统一的接口。
3.把本来不方便适用的接口转换成统一的接口。
缺点:过多地使用适配器,会让系统非常零乱,不易整体进行把握。
class SystemA
{
public:
virtual void getName(){cout << "A" << endl;}
};
class SystemB
{
public:
virtual void getPeopleName(){cout << "B" << endl;}
};
//适配器 通过继承实现
class SystemAB : public SystemA
{
public:
SystemAB(SystemB *pB) :m_B(pB){}
virtual void getName()
{
m_B->getPeopleName();
}
private:
SystemB *m_B;
};
int main()
{
SystemB *sysB = new SystemB;
//创建适配器
SystemAB *ab = new System(sysB);
ab->getName();
return 0;
}