【软工方法论17】行为型设计模式命令模式全解析

【软工方法论17】287_行为型设计模式命令模式全解析

设计模式:行为型——命令模式全解析

你有没有想过这个问题?

遥控器控制电视:

  • 按"开/关"按钮 → 电视开关
  • 按"+"按钮 → 音量增大
  • 按"-"按钮 → 音量减小
  • 按"静音"按钮 → 静音

遥控器和电视是不同的对象,遥控器怎么控制电视的?

命令模式(Command Pattern),就是来处理这种"请求发送者"和"请求执行者"之间的解耦。

一、命令模式的定义

定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

核心思想:把请求封装成命令对象,把发送者和执行者解耦。

生活比喻

  • 遥控器:把"开电视"封装成遥控器上的按钮
  • 餐厅点餐:服务员把订单封装成订单单,交给厨房
  • 任务调度:把任务封装成命令对象,排队执行

二、为什么需要命令模式?

问题:紧耦合