复杂事物创建的过程抽象出来,该抽象的不同实现方式不同,创建出的对象也不同。通俗的讲,创建一个对象一般都会有一个固定的步骤,这个固定的步骤我们把它抽象出来,每个抽象步骤都会有不同的实现方式,不同的实现方式创建出的对象也将不同。
1.Builder抽象类
public abstract class Builder{
public abstract void methods1();
public abstract void methods2();
public void close();
public Builder getObject();
}
2.Builder实现类
public Bulider1 extends Builder{
public void method1(){
}
public void method2(){
}
public close (){
}
}
3.Director类
public class Director {
private builder builder;
public Director(Builder builder){
this builder = builder;
}
public void construct (){
builder.method1();
builder.method2();
}
}