1700462310
代码清单14-5 抽象中介者
1700462311
1700462312
public abstract class AbstractMediator{
1700462313
1700462314
protected Purchase purchase;
1700462315
1700462316
protected Sale sale;
1700462317
1700462318
protected Stock stock;
1700462319
1700462320
//构造函数
1700462321
1700462322
public AbstractMediator(){
1700462323
1700462324
purchase=new Purchase(this);
1700462325
1700462326
sale=new Sale(this);
1700462327
1700462328
stock=new Stock(this);
1700462329
1700462330
}
1700462331
1700462332
//中介者最重要的方法叫做事件方法,处理多个对象之间的关系
1700462333
1700462334
public abstract void execute(String str,Object……objects);
1700462335
1700462336
}
1700462337
1700462338
再来看具体的中介者,我们可以根据业务的要求产生多个中介者,并划分各中介者的职责。具体中介者如代码清单14-6所示。
1700462339
1700462340
代码清单14-6 具体中介者
1700462341
1700462342
public class Mediator extends AbstractMediator{
1700462343
1700462344
//中介者最重要的方法
1700462345
1700462346
public void execute(String str,Object……objects){
1700462347
1700462348
if(str.equals(“purchase.buy”)){//采购电脑
1700462349
1700462350
this.buyComputer((Integer)objects[0]);
1700462351
1700462352
}else if(str.equals(“sale.sell”)){//销售电脑
1700462353
1700462354
this.sellComputer((Integer)objects[0]);
1700462355
1700462356
}else if(str.equals(“sale.offsell”)){//折价销售
1700462357
1700462358
this.offSell();
1700462359
[
上一页 ]
[ :1.70046231e+09 ]
[
下一页 ]