在看《设计模式》?
Command是很简单的, 只要一个interface
public interface Command {
void execute();
}
然后是各个具体的实现,如:
public class ConsolePrintCommand {
public void execute() {
System.out.println("This is a ConsolePrintCommand!");
}
}
junit的Test和TestCase就是Command模式的应用
Test 是 Command interface
TestCase是ConcreatCommand
我觉得理解设计模式,首先要了解每个模式的意图
Command模式的意图是将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作.
画图软件的工具箱就是一个很好的例子:
用户选择不同的工具,就保存一个不同的Command对象
在画板上拖拽的时候,调用对象的execute方法
执行画圆或画方的操作
在《设计模式》中,client将command对象保存在invoker中,然后调用execute()
我觉得这只用一种应用而已,invoker和此模式没什么关系