建造者模式

1、定义:

将复杂的构建过程与其表示相分离。使得有类似构建过程的对象可以共用这个构建过程,并且来创建不同表示。

2、应用:

在软件系统中,有一些对象是很复杂的,该对象由各个部分子对象用一定的算法构成,或者由一定的步骤组合而成。这些算法或者步骤是稳定的,而构成这个对象的子对象常常由于需求的变化而变化。比如组装电脑,有cpu 内存等这些配件稳定的构成,但是构成电脑这个对象的子对象cpu 内存等零件本事可以是多变的。为了共用,需要将这些多变的子对象cpu 内存等与电脑其他不怎么变化的部件分离开来,实现解耦合,即可以轻松实现电脑的升级。

3、结构:

首先是电脑这个对象。Computer.cs

其次,Builder.cs,抽象类用来创建那些多变的部件,当然只是些创建的抽象方法或者接口。

第三,ConcreteBuilder.cs,开始具体的真的创建这些有变化的部件。这个因为需求有多个类,比如低配高配等。并且还有提供一个检索Product的接口?

第四,Director.cs,用来创建computer这个对象。根据需求传进builder参数。从而重建对应的Computer对象。

错错错,只是给定一个builder,至膝盖builder的方法而已,只是给定步骤和次序。创建,直接创建还是ConcreteBuilder。

第五,当然是客户端调用了。

在建造者模式中,Director规定了创建一个对象所需要的步骤和次序,Builder则提供了一些列完成这些步骤的方法,ConcreteBuilder给出了这些方法的具体实现,是对象的直接创建者。

4.实例:http://www.cnblogs.com/libingql/p/3633527.htm

http://terrylee.cnblogs.com/archive/2005/12/19/299878.html

5.实现要点,应用分析参加上面链接,暂时不太好理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值