interface Builder{ public void buildPartA(); public void buildPartB(); public void buildPartC(); public Product getProduct(); } class Product{ private ArrayList<String> parts=new ArrayList<String>(); public void add(String part){ parts.add(part); } public void show(){ System.out.println("Product有以下几部分构成:"); for(String s:parts){ System.out.println(s); } } }
class Worker implements Builder{ private Product product;
public void buildPartA() { product=new Product(); product.add("A部分");
}
public void buildPartB() { product.add("B部分");
}
public void buildPartC(){ product.add("C部分");
} public Product getProduct(){ return product; } } class Designer{ public void order(Builder builder){ builder.buildPartA(); builder.buildPartB(); builder.buildPartC(); } } public class Test {