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

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

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

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

    使用建造者模式的好处:

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

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

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

    建造者模式详解

    使用建造模式的场合:

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

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

  • 相关阅读:
    php文件包含
    微信劫持反弹shell复现
    DNS劫持
    phpstudy后门漏洞复现
    使用远见远控软件控制靶机
    php基础及工具使用
    nmap扫描
    JavaScript创建对象几种形式
    浅拷贝与深拷贝
    原型和原型链
  • 原文地址:https://www.cnblogs.com/yang-lq/p/7744040.html
Copyright © 2011-2022 走看看