美文网首页
命令模式

命令模式

作者: 上海马超23 | 来源:发表于2017-06-23 22:52 被阅读0次
  • 抽象命令类 command:

    • abstract execute方法:执行该命令(即自己)
  • 具体命令类(针对不同场景,有不同的命令)

    • 实现 execute方法:协调每个ReceiverImpl的业务逻辑
    • 依赖的多个ReceiverImpl的属性和setter
  • 抽象接受者类 Receiver:

    • abstract doSomething方法:执行所属自己职能的业务逻辑。
  • 接受者实现类 ReceiverImpl:

    • 实现 doSomething 方法
  • 负责人 Invoker类

    • 抽象命令属性,带setter
    • action方法:调用command.execute方法

使用例子

invoker = new Invoker();
command1 = new CommandImpl1();
invoker.setCommand(command1);
invoker.action();

总结

优点

  1. Invoker 和 Receiver 解耦
  2. 针对业务场景的变化,只需要修改或增加Receiver,并增加CommandImpl来应对新的变化,Invoker无需改动,只管接受新命令CommandImpl即可
  3. ReceiverImpl 类似同事,只管做好自己的职能,提供专属业务方法;Command类似中介,N个场景有N个CommandImpl,协调各个ReceiverImpl合作达到业务场景需求;Invoker可以理解成暴露给外部的服务。

缺点

随着业务场景的多样性,CommandImpl的数量可能会膨胀不好管理。

相关文章

  • 12.vim的使用技巧

    命令模式 、命令行模式、编辑模式: INSERT 首次进入文件: 命令模式输入: 表示 命令行模式出现...

  • 五、Linux vim编辑器

    vim编辑器三种模式:命令模式、编辑模式、末行模式 1.命令模式: vim进入文件后就是命令模式 1.1 命令模式...

  • 终端操作文件

    VIM 模式切换从命令模式->编辑模式:i,a,o,I,A,O从编辑模式->命令模式:ESC从命令模式->末行模式...

  • vim 操作 && Mac 配置本地Apache

    一、vim 的基本命令操作 vim 的模式: 编辑模式 ,命令模式 编辑模式: 命令模式:可以通过命令 最重要的命...

  • Vim高效编辑器

    Vim程序员高效编辑器 命令模式,输入模式,底线命令模式 默认进入vim就是命令模式,输入i变为输入模式 命令模式...

  • Command模式

    命令模式(Command) 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Tran...

  • 设计模式详解——命令模式

    本篇文章介绍一种设计模式——命令模式。本篇文章内容参考《JAVA与模式》之命令模式。 一、命令模式的概念 命令模式...

  • Vi编辑器

    命令模式 文本输入模式 末行模式。 插入模式 移动光标: 删除命令: 撤销命令: 重复命令 文本行移动: 复制粘贴...

  • JavaScript设计模式七(命令模式)

    JavaScript设计模式七(命令模式) 定义: 命令模式是最简单和优雅的模式之一,命令模式中的命令指的是一个执...

  • Cisco 路由器配置命令大全(二)

    (1)模式转换命令 用户模式----特权模式,使用命令"enable"特权模式----全局配置模式,使用命令"co...

网友评论

      本文标题:命令模式

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