命令模式 The Command Pattern
命令模式
将“请求”封装成对象,以便使用不同的请求、队列或日志来参数化其他对象。命令模式也支持撤销的操作。
encapsulates a request as an object, thereby letting you parameterize other objects with different request, queue or log requests, and support undoable operations.
一个封装的请求:
1、封装的请求:命令模式将动作和接收者包进对象中。
2、从外面看,其他对象不知道哪个接收者进行了哪些动作,只知道调用了execute() 方法,请求的目的就达到了。
3、命令模式将发出请求的对象和执行请求的对象解耦。在被解耦的两者之间是通过命令对象进行沟通的。
类图:
1、调用者通过调用命令对象的execute()发出请求
2、调用者可以接受命令对象当做参数,甚至在运行时动态进行。
3、命令可以支持撤销,做法是实现一个undo()方法来回到execute()被执行前的状态
4、宏命令是命令的一种简单的延伸,允许调用多个命令。
(转载请注明出处 ^.^)