生成器模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.
public interface Builder{
public void buildPartA();
public void buildPartB();
public void buildPartC();
//成品的组装不在这里,而在下面的Director类中进行
public Product getProduct();
}
public class Director{
Builder builder;
public Director(Builder builder){
this.builder = builder;
}
public void construct(){
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
}
}
public class ConCreateBuilder implements Builder{
Part partA,partB,partC;
public void buildePartA(){
partA = new PartA();
}
public void buildePartB(){
partB = new PartB();
}
public void buildePartC(){
partC = new PartC();
}
public void getProduct(){
Product p = new Product();
p.setPartA(partA);
p.setPartB(partB);
p.setPartC(partC);
}
}
public class BuilderTest{
public static void main(String[] str){
Builder builder = new ConCreateBuilder();
Director director = new Director(builder);
director.construct();
Product p = builder.getProduct();
}
}