设计模式之 建造者模式

 

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

    

                                           创建者模式

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

 

 

posted @ 2009-11-16 16:13  会长  阅读(223)  评论(0编辑  收藏  举报