WEB开发网
开发学院软件开发C语言 无废话C#设计模式之六:Builder 阅读

无废话C#设计模式之六:Builder

 2009-04-02 08:21:24 来源:WEB开发网   
核心提示: 代码执行结果如下图:图片看不清楚?请点击这里查看原图(大图),代码说明l ComputerFactory是建造者模式的指导者,无废话C#设计模式之六:Builder(2),指导者做的是稳定的建造工作,假设它就是一个技术人员,然后用户让ComputerFactory去为它组装这个电脑,组装完

代码执行结果如下图:

无废话C#设计模式之六:Builder

图片看不清楚?请点击这里查看原图(大图)。 

代码说明

l         ComputerFactory是建造者模式的指导者。指导者做的是稳定的建造工作,假设它就是一个技术人员,他只是在做按照固定的流程,把配件组装成计算机的重复劳动工作。他不知道他现在组装的是一台游戏电脑还是一台办公用电脑,他也不知道他往主板上安装的内存是1G还是2G的。呵呵,看来是不称职的技术人员。

l         ComputerBuilder是抽象建造者角色。它主要是用来定义两种接口,一种接口用于规范产品的各个部分的组成。比如,这里就规定了组装一台电脑所需要的5个工序。第二种接口用于返回建造后的产品,在这里我们没有定义抽象方法,反正建造出来的总是电脑。

l         OfficeComputerBuilder和GameComputerBuilder是具体的建造者。他的工作就是实现各建造步骤的接口,以及实现返回产品的接口,在这里后者省略了。

l         Computer就是建造出来的复杂产品。在代码中,我们的各种建造步骤都是为创建产品中的各种配件服务的,Computer定义了一个相对具体的产品,在应用中可以把这个产品进行比较高度的抽象,使得不同的具体建造者甚至可以建造出完全不同的产品。

l         看看客户端的代码,用户先是选择了一个具体的Builder,用户应该很明确它需要游戏电脑还是办公电脑,但是它可以对电脑一无所知,由销售人员给出一个合理的配置单。然后用户让ComputerFactory去为它组装这个电脑。组装完成后ComputerFactory开机,给用户验收电脑的配置是否正确。

上一页  1 2 3 4  下一页

Tags:废话 设计模式er

编辑录入:爽爽 [复制链接] [打 印]
    赞助商链接