设计模式(5)——建造者模式

什么是建造者模式?

构造者模式(Bulder Pattern):将一个复杂对象的构建与表示分离,使得同样的构建可以创建不同的表示。

为什么使用建造者模式?

  “复杂对象相当于一辆有待建造的汽车,而对象的属性相当于汽车的部件,建造产品的过程就相当于组合部件的过程。由于组合部件的过程很复杂,因此,这些部件的组合过程往往被“外部化”到一个称作建造者的对象里,建造者返还给客户端的是一个已经建造完毕的完整产品对象,而用户无须关心该对象所包含的属性以及它们的组装方式,这就是建造者模式的模式动机。”(引用自图说设计模式)

怎样实现建造者模式?

  建造者模式包含四个角色:指挥者,建造者,抽象建造者,产品。
 
1. 建造者模式的具体流程如下: 指挥者将客户端创建产品的请求划分为各个部件的创建请求,再将这些请求委派到具体的建造者角色,具体的建造者角色完成具体的产品,而这个过程不为客户端所知。
2. 产品不需要抽象类,因为由于可能最终创建出来的产品差异很大,所以不大可能抽象出一个产品抽象类。
3. 抽象工厂模式解决的是“系列产品”的需求变化,而建造者模式解决的是“产品部分”的需求变化。
4. 建造者模式隐藏了具体产品的组装过程,所以要改变一个产品的内部表示,只需要再实现一个具体的构造者就行了,从而能够很好的应对产品组件的需求变化。(引用自learning hard的博文

uml结构图(引用自learning hard的博文

这里写图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值