首页 > 代码库 > 设计模式之建造者模式(Builder)

设计模式之建造者模式(Builder)

1、定义


将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

2、通用类图


image

Product产品类:通常是实现了模板方法模式,也就是有模板方法和基本方法。

Builder抽象建造者:规范产品的组建,一般是由子类实现

ConcreteBuilder具体建造者:实现抽象类定义的所有方法,并且返回一个组建好的对象

Director导演类:负责安排已有模块的顺序,然后告诉Builder开始建造。

3、通用源代码

package builder;/** *产品类 * 2014-8-19下午4:26:40-limiracle */public class Product {    public void doSomething(){        //独立业务处理    }}
package builder;public abstract class Builder {    //设置产品的不同部分,以获得不同的产品    public abstract void setPart();    //建造产品    public abstract Product buildProduct();}
package builder;/** *具体建造者 * 2014-8-19下午4:29:02-limiracle */public class ConcreteProduct extends Builder {    private Product product=new Product();    @Override    public void setPart() {        /*         * 产品类内的逻辑处理         */    }    //组建一个产品    @Override    public Product buildProduct() {        return product;    }}
package builder;public class Director {    private Builder builder=new ConcreteProduct();    //构建不同的产品    public Product getAProduct(){        builder.setPart();        return builder.buildProduct();    }}