美文网首页
命令模式

命令模式

作者: zhaoyubetter | 来源:发表于2016-11-05 12:10 被阅读19次

    作用
    命令模式可将“动作的请求者”从“动作的执行者”对象中解耦;
    命令模式将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象,命令对象也支持撤销操作;

    命令也可以将运算块打包(一个接收者和一组动作),形成一个命令组合,存储,传递或调用它们;比如:打开一个总开关实现打开电源,音响,电视操作;

    ** 实现方式 **

    1. 调用者 只关心 Command接口;
    2. 调用者与接收者不存在直接关系,而是通过 Command接口进行通信;
    3. 具体命令与其对应的接收者绑定在一起,命令对象 包含接收者,让命令对象控制接收者;

    类图

    Paste_Image.png
    1. Command接口:为所有命令的接口,调用命令对象execute(),就可以让接收者进相关的动作;
    2. ConcreteCommnad:为具体命令类,实现Command接口,并持有一个 Receiver接收者的实例;定义了动作与接收者之间的绑定关系。调用者只需要调用execute(),发出请求,然后由她来调用接收者的处理动作;实现解耦;
    3. Receiver:为命令接收者类,接收者知道如何处理命令请求,任务类,都可以当接收者;
    4. Invoker: 为 调用者类,持有命令接口对象,用来调用命令对象的 execute(),用来发出命令请求;
    5. Client: 为客户端,客户端负责创建 ConcreteCommand,并设置接收者;

    相关文章

      网友评论

          本文标题:命令模式

          本文链接:https://www.haomeiwen.com/subject/iazwuttx.html