建造者模式(Builder Pattern)
来源:互联网 发布:修改linux ip地址 编辑:程序博客网 时间:2024/06/05 01:10
建造者模式(Builder Pattern)
flyfish 2016-1-22
C++实现
class Product{public: void DoSomething(){}};class Builder{public: virtual void SetPart1(){};//处理Product的第一部分 virtual void SetPart2(){};//处理Product的第二部分 virtual Product* GetProduct(){return nullptr;}//product生成之后,经过SetPart1,SetPart2处理,最后返回结果};//A和B 中的SetPart1,SetPart2不同class ConcreteProductA: public Builder{public: ConcreteProductA(){product_=new Product();} void SetPart1(){}//产品内的逻辑处理 void SetPart2(){}// Product* GetProduct(){return product_;}//private: Product* product_;};class ConcreteProductB: public Builder{public: ConcreteProductB(){product_=new Product();} void SetPart1(){}//产品内的逻辑处理 void SetPart2(){} Product* GetProduct(){return product_;}private: Product* product_;};class Director{public: void ProcessProduct() { builder_->SetPart1(); builder_->SetPart2(); }public: Director(Builder *builder) { builder_ = builder; } Builder* builder_;};
int _tmain(int argc, _TCHAR* argv[]){ { Builder *a = new ConcreteProductA(); Director *d= new Director(a); d->ProcessProduct(); Product* p=a->GetProduct(); p->DoSomething(); } { Builder *b = new ConcreteProductB(); Director *d= new Director(b); d->ProcessProduct(); Product* p=b->GetProduct(); p->DoSomething(); } return 0;}
0 0
- 建造者模式(Builder Pattern)
- 3--建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder pattern)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern )
- Builder pattern(java 建造者模式)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- Builder Pattern(建造者模式)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- 建造者模式(Builder Pattern)
- android源码中打包so到apk的方法
- vsftpd 虚拟用户 530 Login incorrect 错误
- 网站压力测试工具Webbench部分源码分析
- 最大公约数与最小公倍数(c语言)
- 滚动字幕(水平,垂直)
- 建造者模式(Builder Pattern)
- h5中 <!DOCTYPE html>标签问题,div里面如果装有一个img下边会有2px间隙
- MFC启动过程&单文档MFC程序的启动详细过程
- Android HandlerThread 完全解析
- 矩阵形象理解最小二乘解
- channel --通道
- RSA加密解密
- poj 3281 Dining(最大流,两种资源一种群体建图)
- Apache+Tomcat集群配置