命令设计模式 - 章节
概念
·将请求封装为对象
·面向对象回调
·将发送器与处理器解耦
·通常用于“撤销”功能
·例子:
- java.lang.Runnable
- javax.swing.Action
设计注意事项
每个命令对象
命令接口
执行方法
“Unexecute”方法
反射
命令,调用程序,ConcreteCommand
UML图
例子:Runnable
练习:命令模式
命令,调用程序,ConcreteCommand,接收器
管理状态
宏命令
陷阱
·依赖于其他模式
·多个命令
·利用纪念品
·原型副本
对比
命令模式
·每个命令·对象
·类包含“什么”
·封装行动
策略模式
·每个策略·对象
·类包含“如何”
·封装算法
命令模式总结
·将每个请求封装为一个对象
·将发送器与处理器解耦
·很少缺点
·经常用于撤销功能