// 应用场景:双方都不适合修改的时候,可以考虑使用适配器模式;
// 说明:客户所期待的接口 [8/11/2016 ZOSH];
class Target
{
public:
Target(void);
~Target(void);
virtual void Request()
{
cout<<"普通的请求"<<endl;
}
};
// 说明:需要适配的类 [8/11/2016 ZOSH];
class Adaptee
{
public:
Adaptee(void);
~Adaptee(void);
public:
void SpecificalRequest()
{
cout<<"特殊请求"<<endl;
}
};
#include "Target.h"
#include "Adaptee.h"
// 适配器
class Adapter : public Target
{
public:
Adapter();
~Adapter();
public:
void Request()
{
ada->SpecificalRequest();
}
private:
Adaptee* ada;
};
// 客户端
#include "Adapter.h"
// 适配器模式:将一个类的接口转换为客户希望的另外一个类的接口;
// 解释:双方都不适合修改的时候,可以考虑使用适配器模式;
int _tmain(int argc, _TCHAR* argv[])
{
Target * ada = new Adapter();
ada->Request();
delete ada;
return 0;
}