命令模式(p191-233)
命令模式
将'请求'封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象.命令模式也支持可撤销的操作.
Command 接口具备 execute()和undo()方法
Invoker 具备 设置命令方法
Receiver 具备 action()方法
NoCommand 对象是一个空对象(null object),有时空对象本身也被视为一种设计模式.
MacroCommand 宏命令执行命令集合
更多用途
- 队列请求
- 日志请求 store() load()
设计箱内的工具箱
原则
- 封装变化
- 多用组合,少用继承
- 针对接口编程,不针对实现编程
- 为交互对象之间的松耦设计而努力
- 类应该对拓展开发,对修改关闭
- 依赖抽象,不要依赖具体类
- 本文链接: https://halo.cjh.kim/archives/headfirst设计模式总结6
- 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!