设计模式[4]-Command

简介:

Type: Behavioral


#include <iostream>
#include <vector>
using namespace std;

class Receiver
{
public:
    void action()
    {
        cout <<"Receiver Action"<<endl;;
    }
};

class Command
{
public:
    virtual void execute()=0;
};

class ConcreteCommand: public Command
{
public:
    ConcreteCommand(Receiver* pReceiver): m_pReceiver(pReceiver){};
    void execute()
    {
        m_pReceiver->action();
    };
private:
    Receiver* m_pReceiver;
};

class Invoker
{
public:
    void addCommand(Command *pCommand)
    {
        mCommand.push_back(pCommand);
        pCommand->execute();
    }
private:
    vector<Command*> mCommand;
};

int main()
{
    Receiver* pReceiver = new Receiver();
    Command*  pCommand  = new ConcreteCommand(pReceiver);
    Invoker*  pInvoker  = new Invoker();
    pInvoker->addCommand(pCommand);


    system("pause");
    return 0;
}

目录
相关文章
|
6月前
|
设计模式 语音技术
设计模式12 - 命令模式【Command Pattern】
设计模式12 - 命令模式【Command Pattern】
25 0
|
4月前
|
设计模式 存储 Java
认真学习设计模式之命令模式(Command Pattern)
认真学习设计模式之命令模式(Command Pattern)
77 0
|
7月前
|
设计模式 存储 缓存
Spartacus 使用 Command 设计模式之后对以前 Connector 实现的重用
Spartacus 使用 Command 设计模式之后对以前 Connector 实现的重用
43 0
|
3月前
|
设计模式 Java
设计模式-命令模式(Command)
设计模式-命令模式(Command)
32 0
|
6月前
|
设计模式 Java API
【设计模式——学习笔记】23种设计模式——命令模式Command(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——命令模式Command(原理讲解+应用场景介绍+案例介绍+Java代码实现)
64 0
|
6月前
|
设计模式 Java
设计模式~命令模式(Command)-18
目录 十八 命令模式(Command) (1)优点: (2)缺点: (3)使用场景: (4)注意事项: (5)应用实例: 代码 十八 命令模式(Co
33 0
|
9月前
|
设计模式 Java 数据库
Java中23种面试常考的设计模式之命令模式(Command)---行为型模式
Java中23种面试常考的设计模式之命令模式(Command)---行为型模式
65 1
|
11月前
|
SQL 设计模式 Java
Java设计模式-命令模式(Command)
Java设计模式-命令模式(Command)
|
12月前
|
设计模式 存储 调度
Spartacus 使用 Command 设计模式之后对以前 Connector 实现的重用(2)
Spartacus 使用 Command 设计模式之后对以前 Connector 实现的重用
|
12月前
|
设计模式 缓存 API
Spartacus 使用 Command 设计模式之后对以前 Connector 实现的重用(1)
Spartacus 使用 Command 设计模式之后对以前 Connector 实现的重用