首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式(c++)笔记之四(Builder 模式)

2013-10-17 
设计模式(c++)笔记之四(Builder 模式)一、描述建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的

设计模式(c++)笔记之四(Builder 模式)
    一、描述

    

      建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一段晦涩难懂的文字,实现创建不同表示的方法就是给创建的过程传入创建的参数。

      举个例子:生活中有着很多的 Builder 的例子,个人觉得大学生活就是一个 Builder 模式的最好体验:要完成大学教育,一般将大学教育过程分成 4 个学期进行,因此没有学习可以看作是构建完整大学教育的一个部分构建过程,每个人经过这 4 年的(4 个阶段)构建过程得到的最后的结果不一样,因为可能在四个阶段的构建中引入了很多的参数(每个人的机会和际遇不完全相同)。 


Builder 模式的典型结构图为: 


设计形式(c++)笔记之四(Builder 模式)



注释:

    main(),客户

    CCarModel,产品模型

    CBenzModel,奔驰模型

    CBMWModel,宝马模型

    ICarBuilder,建造者接口

    CBenzBuilder,奔驰建造者

    CBMWBuilder,宝马建造者

    CDirector,导演

说明:CCarModel实现模板方法,Builder负责开始建造产品。建造产品时,构建的顺序由Director或main决定。

注意:建造者模式和抽象工厂非常类似。建造者更重视产品建造时的逻辑顺序,而抽象工厂更重视生产出不同型号的产品,抽象工厂不关心顺序。


2.本人工程目录


设计形式(c++)笔记之四(Builder 模式)


3.代码

参考文献:《设计模式之禅》,《GoF_23种设计模式解析》

参考博客:http://www.cnblogs.com/wanggary/archive/2011/04/15/2017615.html

热点排行