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>
        看一下运行结果:

  • 相关阅读:
    10个你可能不知道的JavaScript小技巧
    JS实现rgb与16进制颜色相互转换
    JavaScript 计算两个颜色叠加值
    软件测试定义和目的(1)
    服务器查看系统日记
    SQL Server 2012 安装成功后找不到SQL server Management
    windowns 10 安装 win64_11gR2_database
    C#获得当前目录和执行目录及执行文件的路径
    卸载yaml,重新安装的坑
    IIS的卸载和安装
  • 原文地址:https://www.cnblogs.com/zzy0471/p/1603921.html
Copyright © 2011-2022 走看看