设计模式--创建型- Builder(生成器/创建者)
2014-03-23 00:46
197 查看
设计模式--创建型- Builder(生成器/创建者)
1.意图
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2.结构图
3. 简述
建造者/生成器模式是一步步构造一个复杂的产品,最终通过类似GetResult()的方法得到最终产品。而抽象工厂是立即返回一个系列的多个简单的产品对象,在外部构建成一个复杂的产品对象。所以Builder模式不会向外暴露出很多产品类,而只要向外提供最终的复杂产品类即可。
4.实例代码
4.1 对外接口,给客户Client使用
// 一个复杂的产品 class Product { public: virtual ~Product(){} }; // 建造者 class Builder { public: Builder() {} virtual ~Builder(){} virtual void BuildPartA() {} virtual void BuildPartB() {} virtual void BuildPartC() {} }; // 导向器 class Director { Builder _builder; public: Director( Builder&builder ) :_builder(builder){} virtual ~Director(){} virtual void Construct() { _builder.BuildPartA(); _builder.BuildPartB(); _builder.BuildPartC(); } };
4.2 客户Client程序
实现一个具体的Builder
class ConcreteBuilder: public Builder { Product* _product; public: ConcreteBuilder() {} ~ConcreteBuilder() {} void BuildPartA(){ /*The first step*/ } void BuildPartB(){ /*The second step*/ } void BuildPartC(){ /*The third step*/ } Product* GetResult(){ return _product;} }; int main() { // new ConcreteBuilder ConcreteBuilder builder; // new Director Director director(builder); // Construct director.Construct(); // Get result builder.GetResult(); }
相关文章推荐
- 创建型设计模式---构建模式(Builder)
- 设计模式笔记--创建型模式之二 Builder
- 第六篇、创建型设计模式——建造者(Builder)模式/生成器模式
- 【创建型模式】建造者模式(Builder)之23种java设计模式
- 设计模式实例解析-创建型模式(Singleton、Abstract Factory、Builder)[转]
- 设计模式(创建型)之建造者模式(Builder Pattern)
- 设计模式杂谈:创建型模式之生成器模式(Builder Pattern)
- 设计模式 3.2 Builder(生成器)对象创建型模式
- 【设计模式】创建型模式——建造者模式(Builder Pattern)
- Java经典设计模式-创建型模式-建造者模式(Builder)
- 设计模式三:Builder 生成器——对象创建型模式
- GOF设计模式-创建型模式理解与思索(一)(Abstract Factory 和Builder)
- 设计模式之生成器(Builder)----对象创建型模式
- 面向对象设计模式学习---Builder模式(创建型)
- 设计模式实战之——创建型模式(Builder、Factory method、Abstract factory)
- 设计模式(二):创建型模式—Builder(生成器)
- 设计模式-创建型模式#建造者模式Builder
- 设计模式(2)-创建型-建造者模式(Builder)
- 设计模式(三)建造者模式Builder(创建型)
- spring 与设计模式(创建型)之Builder模式