收藏 分销(赏)

Builder模式PPT课件.ppt

上传人:胜**** 文档编号:799362 上传时间:2024-03-21 格式:PPT 页数:12 大小:204.50KB
下载 相关 举报
Builder模式PPT课件.ppt_第1页
第1页 / 共12页
Builder模式PPT课件.ppt_第2页
第2页 / 共12页
Builder模式PPT课件.ppt_第3页
第3页 / 共12页
Builder模式PPT课件.ppt_第4页
第4页 / 共12页
Builder模式PPT课件.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、Builder(生成器)模式u解决的是哪一类问题【Why】u什么是Builder模式【What】u如何解决这类问题【How】uBuilder模式的使用条件【适用性】uBuilder模式的结构及实现1.导致问题的原因:用户需求的变化(面向对象的思想的优点就是能应对需求变化)针对的是一个复杂的对象(它是由很多的子对象组成的,比如:House对象),复杂对象的各个部分相对变化要剧烈,但这些部分的算法的组合相对是稳定的。Builder(生成器)模式解决的是哪一类问题?2.Builder(生成器)模式意图将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以构建不同的表示。把不变与变得东西隔离开。3

2、.Builder(生成器)模式简单地说,就好象我要一座房子住,可是我不知道怎么盖,也不知道怎么样设计,于是我需要找一帮民工,他们会砌墙,建门等,还得找个设计师,他知道怎么设计。当然,还要确保民工听设计师的领导,而设计师本身不干活,光是下命令,这里砌一堵墙,这里砌一扇门,这样民工开始建设,最后,我可以向民工要房子了。在这个过程中,设计师是什么也没有,除了他在脑子里的设计和命令,所以要房子也是跟民工要。4.Builder(生成器)模式适用性当同时满足以下情况的时候可以使用Builder模式:a.当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时。b.当构造过程必须允许构造的对象有不

3、同的表示时(不同风格的房子)。5.Builder(生成器)模式结构注意:导向器(Director)是调用BuildPart()方法,来将不同部件(Part)组合到目标Product中的。如果只是组合不同数量的现有部件,则不用定义新的ConcreteBuilder。6.Builder(生成器)模式参与者Builder:为创建一个Product对象的各个部件指定抽象接口。ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件。Director:构造一个使用Builder接口的对象。Product:表示被构造的复杂对象。7.Builder(生成器)模式协作8.Build

4、er(生成器)模式建造不同风格的房子:9.Builder(生成器)模式项目导航10.Builder(生成器)模式回顾:Builder模式的核心思想:1.将一个“复杂对象的构建算法”与它的“部件及组装方式”分离,使得构件算法和组装方式可以独立应对变化;复用同样的构建算法可以创建不同的表示,不同的构建过程可以复用相同的部件组装方式。2.抽象的Builder类,为导向者可能要求创建的每一个构件(Part)定义一个操作(接口)。这些操作缺省情况下什么都不做。一个ConcreteBuilder类对它所感兴趣的构建重定义这些操作。每个ConcreteBuilder包含了创建和装配一个特定产品的所有代码(注

5、意:ConcreteBuilder只是提供了使用部件装配产品的操作接口,但不提供具体的装配算法,装配算法在导向器Director中定义)。这些代码只需要写一次;然后不同的Director可以复用它,以在相同部件集合的基础上构建不同的Product。11.Builder(生成器)模式回顾:Builder模式的核心思想:回过头再来看,类图结构中对Director的注释,为什么不是一句builder-BuildPart()就够了,为什么要有这个循环呢?BuildPart方法封装了创建Part、并组装到Product中的操作,循环调用多次时,可以反复复用BuildPart操作,让目标Product聚合多个Part。另外,需要指出的一点:单纯的Builder模式中,“不同Product类型”的组成部件之间,不能进行组合或替换。譬如上面的两个示例中:组成中国式的Door、Wall、Floor、Windows,不允许与组成罗马式的Door、Wall、Floor、Windows进行组合创建新的House,也就是说这两者之间的部件不能兼容或替换。12.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服