意图:将一个对象创建过程和他的表示分离,使得同样的创建的过程可以创建不同的表示,Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们.用户不知道内部的具体构建细节
动机:复杂对象有一个个简单对象构成,简单对象称为部件,复杂对象创建还需要一个过程和顺序,Builder模式就是解耦部件和过程的模式,这符合松耦合原则,在我看来,从类的职责来看,部件和过程是两个职责,需要分开,Builder模式也符合这个原则--->类的单一原则。
package build;
public interface Build {
void buildPartA();
void buildPartB();
Product getResult();
}
/************************************/
package build;
public class ConcreteBuild implements Build {
@Override
public void buildPartA() {
// TODO Auto-generated method stub
}
@Override
public void buildPartB() {
// TODO Auto-generated method stub
}
@Override
public Product getResult() {
return null;
}
}
/***************************************/
package build;
public interface Product {
}
/**************************************/
package build;
public class Director {
private Build build;
public Director(Build build){
this.build=build;
}
public void construct(){
build.buildPartA();
build.buildPartB();
}
}