- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章
创建型设计模式
目录
5.3 建造者模式
5.4 单件模式
5.5 原型模式
2
返回目录
5.3 建造者(Builder)模式
一、建造者模式的由来
二、建造者模式的意图及适用性
三、建造者模式的结构
四、应用举例
五、效果分析
3
返回目录
5.3.1 建造者模式的由来
通常,对象创建细节是由constructor完成
有些情况下,一个对象会有一些重要的性质,在
它们没有恰当的值之前,对象不能作为一个完整
的产品使用。
一个电子邮件有发件人地址、收件人地址、主题、内
容、附录等部分,而在最起码的收件人地址未被赋值
之前,这个电子邮件不能发出。
4
返回目录
5.3.1 建造者模式的由来
这种设计将对象建造过程与组成对象的构件捆绑
在一起
当被创建的对象很复杂的时候或者当不同的创建
方法可以产生对象的不同的表示的时候,利用
constructor创建对象效率比较低.
5
返回目录
5.3.1 建造者模式的由来
有些情况下,一个对象的一些性质必须按
照某个顺序赋值才有意义。在某个性质没
有赋值之前,另一个性质则无法赋值。这
些情况使得性质本身的建造涉及到复杂的
商业逻辑。
6
返回目录
5.3.1 建造者模式的由来
在软件系统中,有时候面临着“一个复杂
对象”的创建工作,其通常由各个部分的子
对象用一定的算法构成;
这个复杂对象的各个部分经常面临着剧
烈的变化,但是将它们组合在一起的算法
却相对稳定。
7
返回目录
5.3.1 建造者模式的由来
利用Builder模式,可以将对象创建过程放到另一
个类中,该类叫做builder类..
8
返回目录
《interface》
《interface》
Builder
Builder
createComponent_A
createComponent_A
createComponent_B
createComponent_B
getObject
getObject
ConcreteBuilder_2
ConcreteBuilder_1 ConcreteBuilder_2
ConcreteBuilder_1
createComponent_A
createComponent_A createComponent_A
文档评论(0)