1.生成器模式的定义
将一个复杂的对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表示
2.生成器模式的UML
Builder :生成器接口,定义创建一个Product各个部件的操作
ConcreteBuilder:具体的生成器的实现类
Product:产品,表示被生成器构建的复杂的对象,包含多个部件
Director:指导者也称导向者,主要用来使用Builder接口 ,已一个统一的接口创建Product对象
3.代码实现
public interface Builder {
public void buildPart();
}
public interface Product{
}
public class ConcreteBuilder{
private Product resultProduct;
public void buildPart(){
}
public Product getResult(){
return this.resultProduct;
}
}
public class Director{
private Builder builder;
public Director(Builder builder)
{
this.builder=builder;
}
public void construct(){
this.builder.buildPart();
}
}
public class Client{
public static void main(String[] args){
ConcreteBuilder builder=new ConcreteBuilder();
Director director=new Director(builder);
director.construct();
}
}
4.生成器模式的本质: 分离整体构建算法和部件构件