1700462302
1700462303
1700462304
1700462305
1700462306
图14-6 修改后的进销存类图
1700462307
1700462308
建立了两个抽象类AbstractMediator和AbstractColeague,每个对象只是与中介者Mediator之间产生依赖,与其他对象之间没有直接关系,AbstractMediator的作用是实现中介者的抽象定义,定义了一个抽象方法execute,如代码清单14-5所示。
1700462309
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
[
上一页 ]
[ :1.700462302e+09 ]
[
下一页 ]