Command 命令模式
2010-12-07 14:26
253 查看
#include <cstdlib>
#include <iostream>
using namespace std;
class Reciver
{
public:
virtual void Execute() = 0;
};
class ReciverConcrete:public Reciver
{
public:
virtual void Execute(){cout<<"ReciverConcrete do sth."<<endl;}
};
class Command
{
Reciver* pRecv;
public:
Command(Reciver* p):pRecv(p){}
~Command(){delete pRecv;}
void Execute(){pRecv->Execute();}
};
class Invoker
{
Command* pCom;
public:
Invoker(Command* p):pCom(p){}
~Invoker(){delete pCom;}
void Invoke(){pCom->Execute();}
};
void Do(Invoker* pInv)
{
pInv->Invoke();
delete pInv;
}
int main(int argc, char *argv[])
{
Do(new Invoker(new Command(new ReciverConcrete)));
system("PAUSE");
return EXIT_SUCCESS;
}
#include <iostream>
using namespace std;
class Reciver
{
public:
virtual void Execute() = 0;
};
class ReciverConcrete:public Reciver
{
public:
virtual void Execute(){cout<<"ReciverConcrete do sth."<<endl;}
};
class Command
{
Reciver* pRecv;
public:
Command(Reciver* p):pRecv(p){}
~Command(){delete pRecv;}
void Execute(){pRecv->Execute();}
};
class Invoker
{
Command* pCom;
public:
Invoker(Command* p):pCom(p){}
~Invoker(){delete pCom;}
void Invoke(){pCom->Execute();}
};
void Do(Invoker* pInv)
{
pInv->Invoke();
delete pInv;
}
int main(int argc, char *argv[])
{
Do(new Invoker(new Command(new ReciverConcrete)));
system("PAUSE");
return EXIT_SUCCESS;
}
相关文章推荐
- 命令模式(Command)---“一个指挥官请求(命令)三连偷袭敌人”
- 命令模式(Command)
- 命令模式(Command Pattern)小结
- 命令模式(Command Pattern)
- 命令模式(Command Action 事务模式 对象行为模式)
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
- command pattern 命令模式
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
- 命令模式(Command)
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
- 命令模式(Command)
- 命令模式(Command Pattern)
- 命令模式(Command)
- 第15讲:Command 命令模式
- 命令模式Command
- 命令模式Command(对象行为型)
- 设计模式 ( 十三 ) 命令模式Command(对象行为型)
- (行为模式)COMMAND——命令模式
- 命令模式(Command Pattern)
- 命令模式(Command)