美文网首页
命令模式

命令模式

作者: Happyday_5fce | 来源:发表于2020-11-22 13:26 被阅读0次

命令模式概述

使用命令类可以将请求发送者和接受者完全解耦,发送者与接收者之间没有直接引用关系。

请求发送者针对抽象命令编程。

对于请求发送者而言,将针对抽象命令类进行编程,可以通过构造注入或者set注入在运行时插入具体命令对象。有点像策略模式。

把请求接受者封装成一个一个的命令,代理模式,适配器模式

lamda表达式对命令模式进行了优化,不需要创建命令类了

结构

优缺点

优点: 1、降低了系统耦合度。 

            2、新的命令可以很容易添加到系统中去。

缺点:使用命令模式可能会导致某些系统有过多的具体命令类。命令类和接受类是一对一的关系。

https://www.cnblogs.com/invoker-/p/7675320.html 可以解决这个问题。

思考 如果命令接受者们都实现了相同的接口,可以把命令类去了.但是如果接受者类没办法实现或者继承相同的类,只能由命令类来代理一下了。

应用和实现

命令队列,宏命令,撤销操作

命令队列

观察者模式和命令队列有点相似

有时候将多个请求排队,当一个请求发送者发送一个请求时,不止一个请求接受者产生响应。

应用场景:没想明白

1>系统需要将请求调用者和请求接受者解耦,使得调用者和接受者不直接交互。请求调用者无须知道接受者的存在,也无须知道接受者是谁。如果接受者都实现相同接口,就不需要命令类了。如果接受者杂七杂八,需要一个命令类。代理一下。

2>系统需要支持命令的撤销操作和恢复操作

3>宏命令 ,批量处理、

参考:https://www.cnblogs.com/JsonShare/p/7206607.html

相关文章

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