• 设计模式之 建造者模式


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

        

                                               创建者模式

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

  • 相关阅读:
    Deepin Linux下安装安卓应用的各种方式
    win下的终端使用指南
    IDEA自定义TODO
    WSL的ssh-agent问题
    MySQL数据类型
    MySQL常用命令.md
    Period 时间坑
    exp/imp管理
    expdp和impdp管理(逻辑导入导出)
    同义词
  • 原文地址:https://www.cnblogs.com/zzy0471/p/1603921.html
Copyright © 2020-2023  润新知