调停者模式:也称为中介者模式。主要应用于单个系统内部多个角色频繁互相交互的场景。
此时建立一个调停者,使得每个角色都和调停者交互。由调停者统一处理的设计模式
如下是一个库存,采购,销售系统
/**
* 采购部
* */
public class Purchase {
//采购等级 0-不采购 1-普通采购 2-大力度采购
private int purchaseLevel ;
//库房对象
private WareHouse wh;
//销售部对象
private Sales s;
//采购
public void buyPurchase(){
checkPurchase();
int num =purchaseLevel*100;
wh.addCommodity(num);
}
//检查采购条件
private void checkPurchase(){
while(wh.getVolume()<200){
//此次采购可能仓库装不下,让销售部卖直到存储空间够用
wh.checkVolume();
s.saleCommodityPrice();
}
wh.checkVolume();
}
//设置采购等级
public void setPurchaseLevel(int purchaseLevel) {
this.purchaseLevel = purchaseLevel;
}
//设置库房对象
public void setWh(WareHouse wh) {
this.wh = wh;
}
//设置销售部对象
public void setS(Sales s) {
this.s = s;
}
}
/**
* 销售部
* */
public class Sales {
//采购部对象
Purchase p;
//库房对象
WareHouse wh;
public void setP(Purchase p) {
this.p = p;
}
public void setWh(WareHouse wh) {
this.wh = wh;
}
//销售等级, 0-停止销售 1-降价销售 2-平价销售
private int level ;
public void setLevel(int level) {
this.level = level;
}
public void saleCommodityPrice