1700463323
public static void main(String[]args){
1700463324
1700463325
//定义我们的接头人
1700463326
1700463327
Invoker xiaoSan=new Invoker();//接头人就是小三
1700463328
1700463329
//客户要求增加一项需求
1700463330
1700463331
System.out.println(”––––客户要求删除一个页面–––––”);
1700463332
1700463333
//客户给我们下命令来
1700463334
1700463335
//Command command=new AddRequirementCommand();
1700463336
1700463337
Command command=new DeletePageCommand();
1700463338
1700463339
//接头人接收到命令
1700463340
1700463341
xiaoSan.setCommand(command);
1700463342
1700463343
//接头人执行命令
1700463344
1700463345
xiaoSan.action();
1700463346
1700463347
}
1700463348
1700463349
}
1700463350
1700463351
运行结果如下所示:
1700463352
1700463353
––––-客户要求删除一个页面–––––—
1700463354
1700463355
找到美工组……
1700463356
1700463357
客户要求删除一项需求……
1700463358
1700463359
客户要求需求变更计划……
1700463360
1700463361
看到上面用粗体显示的代码了吗?只修改了这么多,是不是很简单,而且客户也不用知道到底由谁来修改,高内聚的要求体现出来了,这就是命令模式。
1700463362
1700463363
1700463364
1700463365
1700463367
设计模式之禅 15.2 命令模式的定义
1700463368
1700463369
命令模式是一个高内聚的模式,其定义为:Encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoable operations.(将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。)
1700463370
1700463371
命令模式的通用类图如图15-4所示。
1700463372
[
上一页 ]
[ :1.700463323e+09 ]
[
下一页 ]