適配器模式
適配器模式(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;
}