命令模式是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。

命令模式也就是一个用户发送请求,调用者接收命令,再将命令发送给接受者,最后接收者作出相应的过程

命令模式的实现:

1. 创建接受者

public class Receiver {public void action(){System.out.println("接受者执行方法");}
}

2. 创建命令

public class Command {private Receiver receiver;public Command(){receiver = new Receiver();}public void execute(){System.out.println("命令传到了接收者");receiver.action();}
}

3. 创建调用者

public class Invoker {private Command command;public Invoker(Command command){this.command = command;}public void send(){System.out.println("调用者收到命令");command.execute();}
}

4. 用户发出请求

public class CommandMain {public static void main(String[] args) {Command command = new Command();Invoker invoker = new Invoker(command);System.out.println("用户发起请求");invoker.send();}
}

  • 什么是设计模式:【每天一个java设计模式(零)】 - 设计模式基本概念及七大设计原则

创建型模式

  • 工厂模式:【每天一个java设计模式(一)】 - 工厂模式
  • 抽象工厂模式: 【每天一个java设计模式(二)】 - 抽象工厂模式
  • 单例模式:【每天一个java设计模式(三)】 - 单例模式
  • 原型模式:【每天一个java设计模式(四)】 - 原型模式
  • 建造者模式: 【每天一个java设计模式(五)】 - 建造者模式

结构型模型

  • 适配器模式 : 【每天一个java设计模式(六)】 - 适配器模式
  • 代理模式: 【每天一个java设计模式(七)】 - 代理模式模式
  • 桥接模式:【每天一个java设计模式(八)】 - 桥接模式
  • 装饰器模式:【每天一个java设计模式(九)】 - 装饰器模式
  • 外观模式:【每天一个java设计模式(十)】 - 外观模式
  • 享元模式:【每天一个java设计模式(十一)】 - 享元模式
  • 组合模式:【每天一个java设计模式(十二)】 - 组合模式

行为型模式

  • 模板模式:【每天一个java设计模式(十三)】 - 模板模式
  • 解释器模式:【每天一个java设计模式(十四)】 - 解释器模式

下一节:
策略模式:【每天一个java设计模式(十六)】 - 策略模式

【每天一个java设计模式(十五)】 - 命令模式相关推荐

  1. php 命令设计模式示例,php设计模式(十九)命令模式-Fun言

    命令模式就和名字一样: 比较适合执行命令的场景: 命令发送者只管调用具体命令类中的 execute() 方法: 然后在具体命令类中设定命令接收者: 可以消除命令发送者和命令接受者之间的耦合: 并且可以 ...

  2. Java设计模式(十五):桥接设计模式

    1. 应用场景 假如你正在为一个新的人体工学且友好的电视遥控器编程.你要使用好的OO技能,让所有的遥控器都基于相同的抽象,对此抽象又做出不同的实现-每部不同型号的电视机都有自己的遥控器的实现. 2. ...

  3. 设计模式之外观模式php,php设计模式(十五)外观模式

    外观模式又叫门面模式: 现在都是模块化开发了: 开发中很多时候都是在使用各种扩展包: 或者在外观模式中我们叫做子系统: 外观模式的作用就是减少子系统之间的耦合: 降低子系统的使用难度: 我们举个栗子: ...

  4. 重学 Java 设计模式:实战命令模式「模拟高档餐厅八大菜系,小二点单厨师烹饪场景」

    作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获!

  5. 【每天一个java设计模式(十四)】 - 解释器模式

    解释器模式提供了评估语言的语法或表达式的方式,它属于行为型模式.这种模式实现了一个表达式接口,该接口解释一个特定的上下文. 解释器模式主要包括以下几个部分: 抽象表达式角色:定义解释器的接口,约定解释 ...

  6. 【每天一个java设计模式(十八)】 - 观察者模式

    观察者模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.这种模式有时又称作发布-订阅模式.模型-视图模式,它是对象行为型模式. 观察者 ...

  7. 【每天一个java设计模式(十七)】 - 状态模式

    在状态模式中,类的行为是基于它的状态改变的,允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类.这种类型的设计模式属于行为型模式. 在状态模式中,我们创建表示各种状态的对象和一个行为 ...

  8. 【每天一个java设计模式(二十三)】 - 访问者模式

    在访问者模式中,我们使用了一个访问者类,它改变了元素类的执行算法.通过这种方式,元素的执行算法可以随着访问者改变而改变.这种类型的设计模式属于行为型模式.根据模式,元素对象已接受访问者对象,这样访问者 ...

  9. 【每天一个java设计模式(完)】 - 四万字实现23种设计模式(附示例源码)

    什么是设计模式:[每天一个java设计模式(零)] - 设计模式基本概念及七大设计原则 创建型模式 工厂模式:[每天一个java设计模式(一)] - 工厂模式 抽象工厂模式: [每天一个java设计模 ...

最新文章

  1. 从Ops到NoOps,阿里文娱智能运维的关键:自动化应用容量管理
  2. LeetCode 450 Delete Node in a BST(二叉搜索树中的删除结点)
  3. 深度学习框架PyTorch一书的学习-第三章-Tensor和autograd-1-Tensor
  4. Python之schedule:schedule库的简介、安装、使用方法之详细攻略
  5. 数字图像处理基本运算
  6. python封装成可执行的小程序_Python打包小程序
  7. html日历显示不完整,求html代码,显示日历和时间的代码
  8. shell字体颜色应用
  9. 新手学信息检索4:向量空间模型与相似度计算
  10. java基础-01基本概念
  11. Linux查看硬件信息命令大全
  12. resultset 的指针报错原因
  13. Node.js模块化开发(非常详细,满满的干货)
  14. [转载] python numpy.sqrt_python中numpy库ndarray多维数组的的运算:np.abs(x)、np.sqrt(x)、np.modf(x)等...
  15. python百度语音实时识别成文字_python 上传百度语音识别+文字返回结果
  16. IT营最新Node.js入门到实战项目视频教程免费下载
  17. windows下安装yarn
  18. y是x的平方的反比例函数_反比例函数的图像和性质 x不能为0y也不能为0所以反...
  19. 台式计算机win如何联网,台式win7怎么连wifi
  20. 检验样本是否服从泊松分布

热门文章

  1. MOS管米勒效应详解
  2. day02-docker安装MySQL8
  3. [语录]有“野心”的“爷们”必看啊
  4. 去哪儿网支付系统架构演进(下篇)
  5. android中断言_Android单元测试(一)
  6. 永磁同步电机(PMSM)磁场定向控制(FOC)转速环PI调节器参数整定
  7. [terry笔记]对人员列表文件进行数据库操作
  8. python 读取yml文件_python读取yaml配置文件
  9. hibernate手动提交事务
  10. 【SDCC讲师专访】吕毅:链家网大数据平台的架构演进