zoukankan      html  css  js  c++  java
  • 设计模式——建造者模式

      建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

      最经典的例子就是造人了。建造一个人需要考虑很多因素,比如一个人要有手,要有脚,还有五官......每个人还有高矮胖搜之分。假如用传统的方式建造,应该有几个类。一个是Person类,里面定义一个人的一些属性(手脚等)。一个建造类Builder,负责具体创建工作。然后要创建一个人的时候,调用Person类里面的所有set方法为属性赋值。这样做有个缺点,每创建一个人都要调用Person里面的所有set方法,万一忘了哪个方法,创造出来的人就会缺胳膊少腿的。

      使用建造者模式后,把Builder改造为一个接口,里面定义一些创建属性的方法,然后根据具体的需要(高矮胖搜)去实现这个接口。在实现中具体设置一些属性。还需要一个Director类,用来作为之前Builder类的功能,即复制执行创建人这项工作,里面只是调用接口的方法,不用管具体的创建过程。

    使用建造者模式的好处:

    1.使用建造者模式可以使客户端不必知道产品内部组成的细节。

    2.具体的建造者类之间是相互独立的,对系统的扩展非常有利。

    3.由于具体的建造者是独立的,因此可以对建造过程逐步细化,而不对其他的模块产生任何影响。

    建造者模式详解

    使用建造模式的场合:

    1.创建一些复杂的对象时,这些对象的内部组成构件间的建造顺序是稳定的,但是对象的内部组成构件面临着复杂的变化。

    2.要创建的复杂对象的算法,独立于该对象的组成部分,也独立于组成部分的装配方法时。

  • 相关阅读:
    第16课 更新和删除数据
    第15课 插入数据
    第14课 组合查询
    第13课 创建高级联结
    第12课 联结表
    第11课 使用子查询
    第10课 分组数据
    第9课 汇总数据
    Python办公自动化 | EXCEL读取和写入
    test
  • 原文地址:https://www.cnblogs.com/yang-lq/p/7744040.html
Copyright © 2011-2022 走看看