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

      在软件系统中,可能会出现以下情况,一个产品其构建过程是稳定的,但其组成部件是不稳定的,容易发生变化。建造者者模式可以用来解决这个问题。

        

                                               创建者模式

      例如:组装一台娱乐用的高配置电脑和组装一台办公用的普通配置电脑,其组装过程是一样的,发生变化的是组成电脑的部件,它们来自不同的厂商、可能具有不同的性能,当然,还有不同的价格(这个也算作组成电脑部件的一个属性吧)。使用创建者模式,可以在其算法相对稳定的基础上,封装构成产品的组件的变化。该例中,相对稳定的算法是指组装电脑的方法(装主板,装CUP,装内存等),相对不稳定的组成部件是指主板、CPU、内存等可以是来自不同的厂家,可以具有不同水平的性能。

         新建一个抽象的建筑者类(BuilderBase),用来封装组成产品的各个部件的变化,代码如下:

    Code


       新建两个具体的继承于BuilderBase的建造者类,它们分别用来建造高配置电脑和普通配置电脑,代码如下:

    Code
    Code


         新建一个BuilderManager类,其不变的算法单独放在这个类:

     

    Code

         最后是客户端代码调用:

    App.Config文件:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      
    <appSettings>
        
    <!--<add key="ComupterType" value="FamilyComputerBuilder"/>-->
        
    <add key="ComupterType" value="OffaceComputerBuilder"/>
      
    </appSettings>
    </configuration>
        看一下运行结果:

  • 相关阅读:
    [转贴]USB簡介
    [网游计划第六、七天]压力好大,坚持很难
    [备忘] 字符串倒序函数strrev
    我的网游计划:ACM 30天 60题
    [网游计划第一天]:不怎么顺利的开始
    程序员必须要有的自信
    转:squid做反向代理时,要注意的安全设置
    Linux DHCP Server 配置给FIT AP 使用的option
    jdk配置
    nod32升级
  • 原文地址:https://www.cnblogs.com/zzy0471/p/1603921.html
Copyright © 2011-2022 走看看