public class Product {
private String partA;
private String partB;
private String partC;
public void setPartA(String partA) {
this.partA = partA;
}
public void setPartB(String partB) {
this.partB = partB;
}
public void setPartC(String partC) {
this.partC = partC;
}
public void show(){
System.out.println("******");
System.out.println(partA);
System.out.println(partB);
System.out.println(partC);
}
}
public abstract class Builder {
protected Product product=new Product();
public abstract void buildPartA();
public abstract void buildPartB();
public abstract void buildPartC();
public Product getResult(){
return product;
}
}public class ConcreteBuilder extends Builder{
@Override
public void buildPartA() {
product.setPartA("建造partA");
}
@Override
public void buildPartB() {
product.setPartB("建造partB");
}
@Override
public void buildPartC() {
product.setPartC("建造partC");
}
}public class Director {
private Builder builder;
public Director(Builder builder){
this.builder=builder;
}
public Product construct(){
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
return builder.getResult();
}
}public class Test {
public static void main(String[] args) {
Builder builder=new ConcreteBuilder();
Director director=new Director(builder);
Product product=director.construct();
builder.getResult();
product.show();
}
}
版权声明:本文为u010041208原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。