设计模式 command模式 (c++)
来源:互联网 发布:看门狗低配置优化补丁 编辑:程序博客网 时间:2024/05/16 10:02
Command模式将所有的请求封装到一个对象Command中,并且将请求的接受者存放到具体的CONCRETE类中;Invoker储存相应的动作对象,并且通过触发对象的excute向Receiver提交一个请求;
Command-一个声明执行操作的接口;
ConcreteCommand-对象对应一个动作;
Invoker-要求对象完成该动作;
Receiver-任何类都可以作为一个接受者;
ConcreteCommand-对象对应一个动作;
Invoker-要求对象完成该动作;
Receiver-任何类都可以作为一个接受者;
class Receiver
{
public:
Receiver(){}
~Receiver(){}
void Action()//ACTION1,2,3,4;
{cout<<"This is Receiver";}//Receiver真正的动作
};
{
public:
};
class Command
{
public:
virtual ~Command(){};
virtual void Excute()=0{};
protected:
Command(){};
};
{
public:
protected:
};
class ConcreteCommandA:public Command
{
public:
ConcreteCommandA(Receiver* rev){m_rev=rev;};
~ConcreteCommandA(){};
void Excute()
{
cout<<"A EXE";
m_rev->Action(); //在此实现动作ACTION;
}
private:
Receiver* m_rev;
};
{
public:
private:
};
class ConcreteCommandB:public Command
{
public:
ConcreteCommandB(Receiver* rev){m_rev=rev;};
~ConcreteCommandB(){};
void Excute(){cout<<"B EXE";};
private:
Receiver* m_rev;
};
{
public:
private:
};
class Invoker
{
public:
Invoker(Command* cmd){m_cmd=cmd;};
~Invoker(){};
void Invoke(){m_cmd->Excute();};
private:
Command* m_cmd;
};
{
public:
private:
};
void main()
{
Receiver* rev=new Receiver();
Command* cmd=new ConcreteCommandA(rev);
Invoker* inv=new Invoker(cmd);
inv->Invoke(); //唤醒动作EXCUTE;
}
{
}
0 0
- 设计模式 command模式 (c++)
- 设计模式(c++)笔记之十九(Command模式)
- 设计模式 command模式
- 设计模式----Command模式
- 设计模式:Command模式
- 【设计模式】Command模式
- 设计模式--Command 模式
- 设计模式-----COMMAND模式
- (8)设计模式:Command
- 设计模式:Command(命令)
- 设计模式之Command(命令模式)
- 【设计模式】之命令模式(Command)
- 设计模式学习--命令模式(command)
- 设计模式之命令模式(Command)
- 设计模式14--命令模式(Command)
- 设计模式之(Command)命令行模式
- 设计模式之Command模式(笔记)
- Java设计模式----命令模式(Command)
- Codeforces Round #256 (Div. 2) C Painting Fence
- 请教俄罗斯方块的中的一些问题的解决方案???
- vb.net获取文件版本
- 小两口攒钱不吵嘴 用理财加固你的爱情
- wince 6.0 下MFC 模态非模态方式使用dll中的窗口
- 设计模式 command模式 (c++)
- XCode常识
- ++a和a++
- 20140719 「线段树 - 点替换,区间最值」 HDOJ 1754 I Hate It
- java rmi服务器端客户端传输数据实例教程
- Java集合源码学习(2)_Collection接口
- Ubuntu下安装Ctags
- 多核多线程开发时如何防止false sharing (from intel)
- C#接口的作用