命令模式

命令模式

定义

命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作 简单的说就是将,发出请求的对象与执行对象解耦。

场景分析

遥控器 请求执行者 灯泡 执行者 命令 将请求封装成对象,里面包含对灯泡的操作

UML图

遥控器命令模式

一个简单的命令模式设计

遥控器,作为请求者,所以它只有Button按钮,具体怎么执行,交给Command。command封装请求,来具体操作灯泡的开与关。灯泡有两个方法,开或者关。 以上完成了请求者与执行者的解耦。用一个命令对象,把两者解耦。 请求者,发出命令对象。命令对象具体的要求,执行者操作 模式优缺点 命令模式的优点  降低系统的耦合度。  新的命令可以很容易地加入到系统中。  可以比较容易地设计一个命令队列和宏命令(组合命令)。  可以方便地实现对请求的Undo和Redo。

命令模式的缺点

 使用命令模式可能会导致某些系统有过多的具体命令类。因为针对每一个命令都需要设计一个具体命令类,因此某些系统可能需要大量具体命令类,这将影响命令模式的使用。 代码实现

坚持原创技术分享,您的支持将鼓励我继续创作!
  • 本文作者: 带带蓝蜗牛
  • 本文链接: 225.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!