Builder模式

上传人:仙*** 文档编号:243022513 上传时间:2024-09-14 格式:PPT 页数:12 大小:297KB
返回 下载 相关 举报
Builder模式_第1页
第1页 / 共12页
Builder模式_第2页
第2页 / 共12页
Builder模式_第3页
第3页 / 共12页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Builder,(生成器)模式,解决的是哪一类问题,【Why】,什么是,Builder,模式,【What】,如何解决这类问题,【How】,Builder,模式的使用条件,【,适用性,】,Builder,模式的结构及实现,导致问题的原因:用户需求的变化,(,面向对象的思想的优点就是能应对需求变化,),针对的是一个复杂的对象,(,它是由很多的子对象组成的,比如:,House,对象,),,复杂对象的各个部分相对变化要剧烈,但这些部分的算法的组合相对是稳定的。,Builder,(生成器)模式,解决的是哪一类问题?,Builder,(生成器)模式,意图,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以构建不同的表示。,把不变与变得东西隔离开。,Builder,(生成器)模式,简单地说,就好象我要一座房子住,可是我不知道怎么盖,也不知道怎么样设计, 于是我需要找一帮民工,他们会砌墙,建门等,还得找个设计师,他知道怎么设计。当然,还要确保民工听设计师的领导,而设计师本身不干活,光是下命令,这里砌一堵墙,这里砌一扇门,这样民工开始建设,最后,我可以向民工要房子了。在这个过程中,设计师是什么也没有,除了他在脑子里的设计和命令,所以要房子也是跟民工要。,Builder,(生成器)模式,适用性,当同时满足以下情况的时候可以使用,Builder,模式:,a.,当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时。,b.,当构造过程必须允许构造的对象有不同的表示时(不同风格的房子)。,Builder,(生成器)模式,结构,注意:,导向器,(Director),是调用,BuildPart,(),方法,来将不同部件,(Part),组合到目标,Product,中,的。,如果只是组合不同数量的现有部件,则不用定义新的,ConcreteBuilder,。,Builder,(生成器)模式,参与者,Builder,:,为创建一个,Product,对象的各个部件指定抽象接口。,ConcreteBuilder,:,实现,Builder,的接口以构造和装配该产品的各个部件。,Director,:,构造一个使用,Builder,接口的对象。,Product,:,表示被构造的复杂对象。,Builder,(生成器)模式,协作,Builder,(生成器)模式,建造不同风格的房子:,Builder,(生成器)模式,项目导航,Builder,(生成器)模式,回顾:,Builder,模式的核心思想:,1.,将一个“复杂对象的构建算法”与它的“部件及组装方式”分离,使得构件算法和组装方式可以独立应对变化;复用同样的构建算法可以创建不同的表示,不同的构建过程可以复用相同的部件组装方式。,2.,抽象的,Builder,类,为导向者可能要求创建的每一个构件,(Part),定义一个操作,(,接口,),。这些操作缺省情况下什么都不做。一个,ConcreteBuilder,类对它所感兴趣的构建重定义这些操作。每个,ConcreteBuilder,包含了创建和装配一个特定产品的所有代码(注意:,ConcreteBuilder,只是提供了使用部件装配产品的操作接口,但不提供具体的装配算法,装配算法在导向器,Director,中定义)。这些代码只需要写一次;然后不同的,Director,可以复用它,以在相同部件集合的基础上构建不同的,Product,。,Builder,(生成器)模式,回顾:,Builder,模式的核心思想:,回过头再来看,类图结构中对,Director,的注释,为什么不是一句,builder-,BuildPart,(),就够了,为什么要有这个循环呢?,BuildPart,方法封装了创建,Part,、并组装到,Product,中的操作,循环调用多次时,可以反复复用,BuildPart,操作,让目标,Product,聚合多个,Part,。,另外,需要指出的一点:单纯的,Builder,模式中,“不同,Product,类型”的组成部件之间,不能进行组合或替换。譬如上面的两个示例中:组成中国式的,Door,、,Wall,、,Floor,、,Windows,,不允许与组成罗马式的,Door,、,Wall,、,Floor,、,Windows,进行组合创建新的,House,,也就是说这两者之间的部件不能兼容或替换。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!