2.4、生成器模式

意图
- 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
概念
- 适用于:
- 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
- 当构造过程必须允许被构造的对象有不同的表示时
代码
java
public class main{
public static void main(String[] args) {
Director director = new Director();
Builder builder1 = new Builder1();
director.construct(builder1);
}
}
class Director {
public void construct(Builder builder) {
builder.buildPart();
}
}
abstract class Builder {
public abstract void buildPart();
public abstract Product getResult();
}
class Builder1 extends Builder {
Product product1 = new Product();
@override
public void buildPart() {
product1.add("A");
product1.add("B");
product1.add("C");
}
@override
public Product getResult() {
return product1;
}
}
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);
}
}
}