《headfirst 设计模式》学习笔记
s命令模式:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。
命令对象将动作和接收者包含进对象中,对外只暴露出一个execute()方法。
统一接口Commend
interface Commend
{
//可以泛化此接口的类中使用构造函数等获得被操作的对象及其操作
execute();//统一对外接口
undo();//还可以有撤销;如果要连续撤销,可以使用堆栈,每次取最上面的状态进行撤销
}
这里还了解到“空对象”的一个用法:
以前总是用if语句进行判断,不为空进行操作;现在这种给一个空对象,公共的函数有,不进行操纵,这样可以简化程序。
命令模式:
队列请求
日志请求