1.什么是建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2.为什么要使用建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。如果用了建造者模式,那么用户只需要指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了。
3.怎样使用建造者模式
Product
public class Product { List<String> parts = new ArrayList<String>(); public void add(String part){ parts.add(part); } public void show(){ System.out.println("产品创建"); for(String part:parts){ System.out.println(part); } } }
Builder
public class Builder { public void buildPartA(){ } public void buildPartB(){ } public void getResult(){ } }
ConcreteBuilder
public class ConcreteBuilder extends Builder { private Product product = new Product(); public void buildPartA(){ product.add("部件A"); } public void buildPartB(){ product.add("部件B"); } public void getResult(){ return product; } }
Director
public class Director { public Builder m_Builder; public void Construct(){ m_Builder.buildPartA(); m_Builder.buildPartB(); } }