美文网首页
命令模式

命令模式

作者: 8813d76fee36 | 来源:发表于2018-03-02 10:32 被阅读19次

最近学习Hystrix,它使用了命令模式来实现对服务调用操作的封装。正好借此机会记录一下命令模式。

简介

命令模式,将来自客户端的请求封装成一个对象,从而让你可以使用不同的请求对客户端进行参数化。

它可以被用于实现“行为请求者”与“行为实现者”的解偶,以便使两者可以适应变化。

命令模式中存在如下角色:

  • Receiver
    它是具体业务的执行者。
  • Invoker
    它是命令的调用者。
  • Command接口
    定义了命令应具备的操作。
  • ConcreteCommand(CommandImpl)
    它是Command接口的具体实现,绑定了命令与接收者之间的关系。

可以想象成Invoker是长官,Receiver是士兵,Command接口是长官都会下达哪些命令,ConcreteCommand是命令的具体实现(实际上是委托给Receiver)。

长官将命令交给士兵,命令指示士兵应该做什么。长官不需要知道士兵具体都做了什么,他只需要等待士兵反馈的结果。

Demo

  • Command接口


    Command接口
  • Receiver


    Receiver
  • MyCommand


    MyCommand
  • Invoker


    Invoker
  • 调用程序


    执行
  • 结果


    结果

适用场景

Invoker和Receiver关系非常类似于“请求”-“响应”模式,所以比较适用于记录日志、撤销操作、队列请求等。

相关文章

  • 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/zkwoxftx.html