适配器模式
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。
这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。
#ifndef _ADAPTE_H_
#define _ATAPTE_H_
#include<iostream>
//现在的接口
class target
{
public:
virtual void request() = 0;
};
class conTarget: public target
{
public:
void request() override
{
std::cout << "conTarget request" << std::endl;
}
};
//引入的,需要被适配的类
//没有request()的方法
class adaptee
{
public:
void specialrequest()
{
std::cout << "special request" << std::endl;
}
};
//适配器
//改变adaptee的接口
class adapte : public target,private adaptee
{
void request() override
{
specialrequest();
}
};
#endif
int main()
{
target * contg = new conTarget();
contg->request();
target * tg = new adapte();
tg->request();
return 0;
}