1.命令模式: 命令模式(Command Pattern):将一个请求Command封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式又称为动作(Action)模式或事务(Transaction)模式。最开始是为了实现撤销操作设计的模式,后来人们逐渐将其进一步利用,可以执行普通的命令。
2.理解:
举个例子,首先有两个类,一个叫Leader类,一个叫Performer,当一个Leader对象想要一个Performer对象做一系列事情的时候。怎么办?
可以在Leader类中增加一个Performer的对象作为属性,也就是关联关系。 同时抽象出命令Command的接口或者抽象类,且有一个do()方法。在Performer中添加Command的列表。当Leader想要Performer执行命令时候,可以通过调用Performer的AddCommand方法添加命令对象,当调用Performer的Execute()方法就会对命令列表依次执行(循环遍历列表,依次执行do()方法)。当然,需要撤销的时候,添加undo()方法,逆序执行命令。