C++设计模式之二:Builder(生成器)
2012-05-28 14:33
302 查看
一、意图:
将一个复杂对象的构建与其表示分离,同样的构建过程可以创建不同的表示;
二、类图:
三、组成元素:
Builder:创建对象的抽象接口;
ConcreteBuilder:实现Builder接口并构建对象产品的各个部件;
Director:构建一个使用Builder的接口;
Product:对象产品;
四、实现代码:
将一个复杂对象的构建与其表示分离,同样的构建过程可以创建不同的表示;
二、类图:
三、组成元素:
Builder:创建对象的抽象接口;
ConcreteBuilder:实现Builder接口并构建对象产品的各个部件;
Director:构建一个使用Builder的接口;
Product:对象产品;
四、实现代码:
#include "iostream" using namespace std; class Product { }; class Builder { public: virtual void BuildPartA()=0; virtual void BuildPartB()=0; }; class ConcreteBuilder:public Builder { public: void BuildPartA() { cout<<"BuildPartA"<<endl; } void BuildPartB() { cout<<"BuildPartB"<<endl; } Product* GetResult() { cout<<"Build Completed!"<<endl; return new Product; } }; class Director { private: Builder* m_builder; public: Director(Builder* builder) { m_builder=builder; } void Construct() { m_builder->BuildPartA(); m_builder->BuildPartB(); } }; void main() { ConcreteBuilder* builder=new ConcreteBuilder(); Director* director=new Director(builder); director->Construct(); Product* product=builder->GetResult(); }
相关文章推荐
- 设计模式 - 建造者模式(Builder) C++实现
- 设计模式之 创建者(Builder)模式(C++实现)
- 设计模式之Builder生成器模式
- 设计模式----Builder(生成器)
- 设计模式C++学习笔记之二(Proxy代理模式)
- 设计模式(c++)笔记之四(Builder 模式)
- 设计模式C++学习笔记之二(Proxy代理模式)
- 学习设计模式之生成器(Builder Pattern)模式
- c++设计模式之四:Builder Pattern
- 设计模式C++学习笔记之二(Proxy代理模式)
- C#设计模式-Builder生成器模式
- Java设计模式之从[Dota的武器创建]分析生成器(Builder)模式
- 我所理解的设计模式(C++实现)——建造者模式(Builder Pattern)
- Objective-C设计模式——生成器Builder(对象创建)
- 【设计模式】创建型模式之生成器Builder
- 23种设计模式之建造者模式(创建型,4 Builder,c++实现)
- 设计模式----Builder(生成器)
- java设计模式学习—生成器(Builder)
- 设计模式--生成器实现C++
- 设计模式C++学习笔记之二(Proxy代理模式)