public Stock(AbstractorMediator _mediator) {
super(_mediator);
}
private static int COMPUTER_NUM = 100;
//增加库存数量
public void increase(int number){
COMPUTER_NUM = COMPUTER_NUM + number;
System.out.println("库存数量为:"+COMPUTER_NUM);
}
//减少库存数量
public void decrease(int number){
COMPUTER_NUM = COMPUTER_NUM - number;
System.out.println("库存数量为:"+COMPUTER_NUM);
}
//获得库存数量
public int getStockNumber(){
return COMPUTER_NUM;
}
//库存压力大了就通知 销售人员尽快销售
public void clearStock(){
System.out.println("清理存活数量为:"+COMPUTER_NUM);
super.mediator.execute("stock.clear");
}
}
package mediator;
//模拟客户端的测试类,(可以通过这个类来仔细研究一下中介者设计模式的具体执行流程)
public class Client {
public static void main(String[] args) {
AbstractorMediator mediator = new Mediator();
System.out.println("采购人呀U呢采购电脑 ");
Purchase purchase = new Purchase(mediator);
purchase.buyIBMcomputer(100);
System.out.println("销售人员销售电脑");
Sale sale = new Sale(mediator);
sale.sellIBMComputer(1);
System.out.println("库房里人员清理库存");
Stock stock = new Stock(mediator);
stock.clearStock();
}
}
中介者对象的定义:用一个中介对象封装一系列对象交互,使各个对象不需要显示的相互作用,从而使其耦合松散;而且可以独立改变他们之间的交互。
其中主要有三部分构成:
1:抽象中介者角色:它统一的定义一个接口,用于各个同事之间的通信。
2:具体中介者角色:协调各个同事角色实现协调行为,因此它必须依赖各个同事角色。
3:同事角色:每一个同事角色都知道中介者角色,而且与其他同事角色进行通信的时间必须通过中介者协调。一般同事角色有两种行为,一种是自发的行为,还有一种是必须依赖与中介者的行为 这是依赖方法。(具体可通过读代码)有时间我会总结一个非常通用简单的代码,放到这上面。
--------------------------------------分割线 --------------------------------------
编写高质量代码 改善Java程序的151个建议 PDF高清完整版
Java对象序列化ObjectOutputStream和ObjectInputStream示例
--------------------------------------分割线 --------------------------------------