c++ 23种设计模式之建造者模式
2013-01-23 15:15
393 查看
#include <stdio.h> //c++ 23种设计模式之建造者模式,(生成器模式) namespace DesignPattern_Builder { class Product1{ }; class Product2{ }; class Builder { public: virtual void BuilderPartA(){} virtual void BuilderPartB(){} virtual void BuilderPartC(){} protected: Builder(){}//构造函数 }; //建造者1 class ConcreteBuilder1:public Builder { public: ConcreteBuilder1():_product(NULL){} virtual void BuilderPartA(){ printf("生成器1 生成 PartA \n");} virtual void BuilderPartB(){ printf("生成器1 生成 PartB \n");} virtual void BuilderPartC(){ printf("生成器1 生成 PartC \n");} virtual Product1 *GetProduct1(){ return _product;} private: Product1 *_product; }; //建造者2,生成器2 class ConcreteBuilder2:public Builder { public: ConcreteBuilder2():_product(NULL){} virtual void BuilderPartA(){ printf("生成器2 生成 PartA \n");} virtual void BuilderPartB(){ printf("生成器2 生成 PartB \n");} virtual void BuilderPartC(){ printf("生成器2 生成 PartC \n");} virtual Product2 *GetProduct2(){ return _product;} private: Product2 *_product; }; class Director { public: void Construct(Builder *builder) { builder->BuilderPartA(); builder->BuilderPartB(); builder->BuilderPartC(); } }; } /** void main() { using namespace DesignPattern_Builder; Director director; ConcreteBuilder1 *pBuilder1=new ConcreteBuilder1(); director.Construct(pBuilder1); Product1 *product1=pBuilder1->GetProduct1(); if(product1!=NULL) { printf("生成器1 生成的产品不为空!\n"); } ConcreteBuilder2 *pBuilder2=new ConcreteBuilder2(); director.Construct(pBuilder2); Product2 *product2=pBuilder2->GetProduct2(); if(product1!=NULL) { printf("生成器2 生成的产品不为空!\n"); } }; */
相关文章推荐
- //c++ 23种设计模式之建造者模式2
- c++ 23种设计模式之观察者模式
- 重学java23种设计模式(3)建造者模式
- c++设计模式--建造者模式
- C++设计模式之建造者模式(改编自C++设计模式)
- C++设计模式-Builder建造者模式
- C++设计模式浅识建造者模式
- 设计模式之建造者模式 c++实现和详细分析
- 23种设计模式C++实例之桥接模式
- 23种设计模式之代理模式(结构型,1 Proxy,c++实现)
- 23种设计模式(4):建造者模式
- 23种设计模式-4-建造者模式
- C++ 设计模式之建造者模式
- Java23种设计模式案例:建造者模式(builder)
- 23种设计模式之建造者模式
- 23种设计模式之抽象工厂模式(创建型,2 AbstractFactory,c++实现)
- java 23种设计模式(4):建造者模式
- c++ 23种设计模式之抽象工厂模式
- 23种设计模式汇总 (C++实现)
- C++设计模式新解二 建造者模式+工厂模式