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