行为模式5-命令模式

2018-04-16  本文已影响0人  sunblog

行为模式5-命令模式

命令模式(Command)

意图

将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;将请求排队或记录请求日志,以及支持可撤销的操作。

问题思考

Office的打开,保存,关闭。

适用性

效果

类图

command

实现

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

class ConcreteCommand : public Command {
public:
    explicit ConcreteCommand(Receiver *receiver) {
        mReceiver = receiver;
    }

    void Execute() override {
        mReceiver->Action();
    }

private:
    Receiver *mReceiver = nullptr;

};

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

1.原语:是由若干条指令组成的,用于完成一定功能的一个过程。

上一篇 下一篇

猜你喜欢

热点阅读