设计模式03-4-建造者模式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
装配过程的重要性 对象有一些重要的属性,在没有给这些属性赋值之前,对象不能作为一个完整的产品使用。如一个电子邮件,有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前,这个电子邮件不能发出。 对象的一些属性必须按照某个顺序赋值才有意义。在某个属性没有被赋值之前,另一个属性无法被赋值。即属性本身的建造涉及到复杂的商业逻辑。 如下是个月历窗口,分别显示中国样式和美国样式的月历。分析它们有哪些共同属性? 创建型模式小结 为什么需要创建型模式呢?所有的创建型模式都有两个永恒的主旋律: 第一,它们都将系统使用哪些具体类的信息封装起来; 第二,它们隐藏了这些类的实例是如何被创建和组织的。外界对于这些对象只知道它们共同的接口,而不清楚其具体的实现细节。 正因如此,创建型模式在创建什么(what),由谁(who)来创建,以及何时(when)创建这些方面,都为软件设计者提供了尽可能大的灵活性。 创建者模式作用可以概括为如下两点: 1.封装创建逻辑,绝不仅仅是new一个对象那么简单。 2.封装创建逻辑变化,客户代码尽量不修改,或尽量少修改。 常见的五种创建型模式 单例模式(Singleton Pattern):解决的是实体对象的个数问题,其他的都是解决new所带来的耦合关系问题。 工厂方法模式(Factory Pattern):在工厂方法中,工厂类成为了抽象类,其实际的创建工作将由其具体子类来完成。工厂方法的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中去,强调的是“单个对象”的变化。 抽象工厂模式(Abstract Factory):抽象工厂是所有工厂模式中最为抽象和最具有一般性的一种形态。抽象工厂可以向客户提供一个接口,使得客户可以在不必指定产品的具体类型的情况下,创建多个产品族中的产品对象,强调的是“系列对象”的变化。 常见的五种创建型模式(续) 建造者/生成器模式(Builder Pattern):把构造对象实例的逻辑移到了类的外部,在这个类的外部定义了这个类的构造逻辑。他把一个复杂对象的构造过程从对象的表示中分离出来。其直接效果是将一个复杂的对象简化为一个比较简单的目标对象。他强调的是产品的构造过程。 原型模式(Prototype Pattern)和工厂模式一样,同样对客户隐藏了对象创建工作,但是,与通过对一个类进行实例化来构造新对象不同的是,原型模式是通过拷贝一个现有对象生成新对象的。 分类 创建型类模式: 工厂方法模式 创建型对象模式: 抽象工厂模式 生成器模式 原型模式 单例模式 创建型类模式: 使用继承关系,把类的构建延迟到派生类。从而封装了客户端将得到哪些具体类的信息,并且隐藏了这些类的实例被创建和组合的过程。 创建型对象模式 把对象的创建过程动态委派给另一个对象,从而动态决定客户端将得到哪些具体类的实例,以及这些类的实例是如何被创建和组合的。 第7章 建造者模式 彭彬 建造者模式 模式动机 现实世界中都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。 对于大多数用户而言,无须知道这些部件的装配过程/细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车。 将汽车和汽车的组装过程分开,专门用一个对象实现组装过程,以创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得到该对象,而无须知道其内部的具体构造细节。 建造者模式 建造者模式 如果把对象看作一个有待建造的产品,则对象的属性就相当于产品的零件,建造产品的过程就是组合零件的过程。 如果组合零件的过程很复杂,则“零件”的组合过程可以被“外部化”到一个称作建造者的对象里,建造者返还给客户端的是一个全部零件都建造完毕的产品对象。 在软件系统中: 有时候面临着“一个复杂对象”的创建工作,该对象通常由各个部分的子对象用一定的算法构成;由于需求的变化,复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。如何应对这种变化? 提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变? 建造者模式 模式定义 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。又称为生成器模式。 Builder Pattern: Separate the construction of a complex object from its representation so that the same construction process can create different representations. 建造者模式 模式结构 抽象建造者 具体建造者 指

您可能关注的文档

文档评论(0)

kbook + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档