Java中介者设计模式(2)

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 8简明教程

Java对象初始化顺序的简单验证

Java对象值传递和对象传递的总结

Java对象序列化ObjectOutputStream和ObjectInputStream示例

--------------------------------------分割线 --------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/37dad30ba63714f1b8f5a1cb14b7da5b.html