命令模式

《headfirst 设计模式》学习笔记

s命令模式:将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。

命令对象将动作和接收者包含进对象中,对外只暴露出一个execute()方法。

统一接口Commend

interface Commend

{

      //可以泛化此接口的类中使用构造函数等获得被操作的对象及其操作

      execute();//统一对外接口
      undo();//还可以有撤销;如果要连续撤销,可以使用堆栈,每次取最上面的状态进行撤销

}

这里还了解到“空对象”的一个用法:

以前总是用if语句进行判断,不为空进行操作;现在这种给一个空对象,公共的函数有,不进行操纵,这样可以简化程序。

命令模式:

队列请求

日志请求

原文地址:https://www.cnblogs.com/growup/p/1971530.html