码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-08-19 18:45:15      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   ar   2014   art   

1、定义


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

2、通用类图


bubuko.com,布布扣

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();
    }
}

设计模式之建造者模式(Builder),布布扣,bubuko.com

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

标签:style   blog   http   color   os   ar   2014   art   

原文地址:http://www.cnblogs.com/limiracle/p/3922550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!