- 将请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化;对起那个请求进行排队或记录请求日志。 命令模式告诉我们可以为一个操作生成一个对象并给出它的一个execute(执行)方法。
- Command模式为系统架构带来效果:
- 实现请求一方(TestCase开发)和调用一方(Junit)进行解耦。
- 使新的TestCase很容易加入,无需改变已有的类,只需继承TestCase类即可。
- 将多个TestCase进行组合成一个复合命令,Testsuite即使复合命令,同时也使用了Composite模式。
- 容易把请求的TestCase组合成请求队列,这样使接受(Junit)一方容易决定是否执行请求,一旦发现测试用例失败或者错误可以立刻停止进行报告。
- Command模式构成:
- 客户角色:创建一个具体命令对象,并 确定其接收者。
- 命令角色:声明一个给所有具体命令类的抽象接口。
- 具体命令角色:定义一个 接收者和行为之间的弱耦合,实现execute方法,负责调用接收者的相应操作。
- 请求者角色:负责调用 命令对象执行请求。
- 接收者角色:负责 具体实施和执行一个命令请求。
Git Command Code