建造者模式是对象的创建模式.建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象和产品对象。
建造模式有以下4个角色构成.
1.抽象建造者Builder.java
2.具体建造者ConcreteBuilder.java
3.导演者Director.java
4.产品Product.java
建造模式的使用意义
1.建造模式的使用,使得产品的内部表象可以独立变化.客户端不必知道产品内部组成的细节.
2.每一个builder都相对独立,而与其他的builder无关.
3.模式所建造的最终产品更易于控制.
package CreationalPattern.Builder;
/**
* 抽象类或者接口
*/
public interface Builder {
/**
* 产品零件建造方法
*/
public void buildPart1();
/**
* 产品零件建造方法
*/
public void buildPart2();
/**
* 产品返还方法
* @return Product
*/
public Product retrieveResult();
}
package CreationalPattern.Builder;
/**
* 具体建造者
*/
public class ConcreteBuilder implements Builder {
Product product = new Product();
public void buildPart1() {
// 构件 product的零件1
}
public void buildPart2() {
// 构件 product的零件2
}
public Product retrieveResult() {
return product;
}
}
package CreationalPattern.Builder;
/**
* 导演
*/
public class Director {
private Builder builder;
public void construct() {
builder = new ConcreteBuilder();
builder.buildPart1();
builder.buildPart2();
builder.retrieveResult();
// contiure with ohter code
}
}
package CreationalPattern.Builder;
/**
* 具体产品
*/
public class Product {
}