23种设计模式(Builder模式)

1、问题场景

场景:组装一台电脑,装机人员不管你是什么牌子型号的模块,都能快速装成一台电脑。对于客户来说,装机的细节基本不考虑,只关心最终的成品。
问题:当我们要创建很复杂的对象(多模块组合而成)的时候,怎么样实现对象创建过程和对象的表现形式分离开来,实现低耦合,高内聚。

2、解决办法

建造模式:将一个复杂独立的构造与它的表现形式分离,使得同样的构造过程可以创建不同的表现形式。换句话说就像组装电脑一样,只要兼容的设备都可以装上去。首先客户创建指导者对象实例(Director)和一个建造者对象实例(Builder);然后指导者根据建造者对象具体实例建造各个不同的单一模块;最后客户从指导者那里得到最终的产品。

UML图:

优缺点:使产品内部构造独立化,实现了由“外部”指导建造对应的部件,符合“开闭原则”;建造者模式使用户不必知道产品的细节,只关心由建造者协调创建对应的产品,化繁为简,对复杂产品的建造过程精确控制。结构复杂过后,维护成本增加,同时可能会带来结构上的臃肿。

备注:建造模式跟工厂模式有点类似,区别在于-----建造模式着重于组件的装配成一个成品提供给客户,抽象工厂着重产品系列相关的多个产品对象。前者由外部指导特性为主导,后者以内部产品特性为主导。


---------------------------------------------------------------------------

Name:一个奔跑中的loser

E-mailchenfeiyoucan@163.com

_________________________________________


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值