<<设计模式之禅(第二版)>>——第十一

2016-10-14  本文已影响0人  leiiiooo
定义(又名生产器模式):
通用类图:
建造者模式通用类图
/*
 *定义产品类,通常为实现模板模式方法的具体执行类
 * */
public class Product {
  public void doSomething() {
    // 独立的业务逻辑
  }
}

public abstract class Builder {
  //设置产品的不同部分,以获得不同的产品 
  public abstract void setPart();
  //建造产品
  public abstract Product buildProduct();
}
/*
 * 创建具体的建造者,有多个产品类就有几个具体的建造者,而且这些多个产品具有相同的接口或者抽象类
 * */
public class ConcreteProductBuilder extends Builder {
  Product product = new Product();

  @Override
  public void setPart() {
    // 特有的内部逻辑处理

  }

  @Override
  public Product buildProduct() {
    // TODO Auto-generated method stub
    return product;
  }

}


/*
 * 创建导演类
 * */
public class Director {
  Builder productBuilder = new ConcreteProductBuilder();
  //构建不同的产品
  public Product getProduct(){
    
    productBuilder.setPart();
    return productBuilder.buildProduct();
  }
}
public class Client {
  public static void main(String[] args) {
    
    Director director = new Director();
    director.getProduct();
  }
}
建造者模式的优点:
常见的使用场景:
上一篇 下一篇

猜你喜欢

热点阅读