在项目过程中,会遇到客户又提出了一个新的需求,而这个需求需要增加一个接口,该接口又和原来的接口不兼容,此时此刻,适配器模式就派上用场了。通过几个简单的类方便理解该概念。代码如下:
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <string>
#include <set>
#include <algorithm>
using namespace std;
//原来要执行的任务
class CTask
{
public:
CTask() { }
~CTask() { }
virtual void process()
{
printf ("Task is running\n");
}
private:
};
//变更执行的任务
class CSpecialTask
{
public:
CSpecialTask()
{
}
~CSpecialTask()
{
}
void process()
{
printf ("Special Task is running\n");
}
private:
};
//适配器类,即可以保留原来的功能,又可以执行新功能
class ApdateTask : public CTask
{
public:
ApdateTask()
{
}
~ApdateTask()
{
}
void process()
{
specTask.process();
}
private:
CSpecialTask specTask;
};
int main (int argc, char **argv)
{
CTask* task = new ApdateTask();
task->process();
delete task;
task = NULL;
return 0;
}