设计模式笔记之命令模式

 时间:2026-04-22 03:17:13

1、命令模式(Command)定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。UML类图如下。(PS: UML图来自《大话设计模式》一书)

设计模式笔记之命令模式

2、我们规划下这个包子店的角色,一个服务员兼收钱的(Waiter), 一个拿包子打豆浆的(Baker),假设就两种工作拿包子(Baozi)和打豆浆(Doujiang),这两中工作就对应了类图中的ConcreteCommand角色。先创建Baker类。

设计模式笔记之命令模式

3、创建Command抽象类,包含Baker实例,构造函数和execute方法。

设计模式笔记之命令模式

4、创建具体命令类,DoujiangCommand和BaoziCommand继承于Command类。顺便重写了toString方法,方便于打印日志。

设计模式笔记之命令模式

5、创建Waiter类,用于听取客户需求和通知Baker送食物。

- List<Command> commands: 用于存储客户的需求

- setOrder: 客户要食物

- cancelOrder: 客户取消先前要的食物

- notifyBaker: 通知Baker送食物过来

设计模式笔记之命令模式

6、创建测试函数测试,运行查看结果。

设计模式笔记之命令模式

  • 设计模式笔记——命令模式的学习
  • 设计模式笔记之策略模式
  • 设计模式笔记之观察者模式
  • 设计模式笔记之工厂方法模式
  • 设计模式笔记之简单工厂模式
  • 热门搜索
    致100米运动员广播稿 运动会入场式口号 幼儿教育知识大全 运动卡路里 灵芝孢子粉的功效与作用 庆余年第二季什么时候播 什么是近亲结婚 开网店需要什么 什么是伤官配印 干柠檬片的功效与作用