1700463210
1700463211
//给出计划
1700463212
1700463213
super.rg.plan();
1700463214
1700463215
}
1700463216
1700463217
}
1700463218
1700463219
页面变更也是比较频繁发生的,定义一个删除页面的命令DeletePageCommand类,如代码清单15-9所示。
1700463220
1700463221
代码清单15-9 删除页面的命令
1700463222
1700463223
public class DeletePageCommand extends Command{
1700463224
1700463225
//执行删除一个页面的命令
1700463226
1700463227
public void execute(){
1700463228
1700463229
//找到页面组
1700463230
1700463231
super.pg.find();
1700463232
1700463233
//删除一个页面
1700463234
1700463235
super.rg.delete();
1700463236
1700463237
//给出计划
1700463238
1700463239
super.rg.plan();
1700463240
1700463241
}
1700463242
1700463243
}
1700463244
1700463245
Command抽象类可以有N个子类,如增加一个功能命令(AddFunCommand),删除一份需求命令(DeleteRequirementCommand)等,这里就不再描述了,只要是由客户产生、时常性的行为都可以定义为一个命令,其实现类都比较简单,读者可以自行扩展。
1700463246
1700463247
客户发送的命令已经确定下来,我们再看负责人Invoker,如代码清单15-10所示。
1700463248
1700463249
代码清单15-10 负责人
1700463250
1700463251
public class Invoker{
1700463252
1700463253
//什么命令
1700463254
1700463255
private Command command;
1700463256
1700463257
//客户发出命令
1700463258
1700463259
public void setCommand(Command command){
[
上一页 ]
[ :1.70046321e+09 ]
[
下一页 ]