建造者模式——创建型模式之三

一、建造者模式

将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

 

建造模式的出现

引子

借用书上的例子,那炒菜(西红柿鸡蛋)来说,我们需要的原材料有:鸡蛋,西红柿;基本调料:油,盐/糖,葱花。

每次我们都需要重复这样的操作,可悲的是,尽管调料,材料都很少,厨师还是会出现忘记加盐,或者葱花的情况。怎么办?

为了解决这个问题,我们来分析一下,这些东西都是做菜不可缺少的东西,我们可以给这个菜制定一个流程,每次都按照这个流程去做,这样就不会忘记。

当然有的人胃口比较重,需要多加盐,有的人喜欢吃甜的,那我们就需要加一样调料:糖。针对这些具体的细节要求,我们需要有在做菜前有一个说明,告诉厨师多加盐,或者放糖,不放盐。

 

把这个模式放到编程的世界就是建造者模式。

 

来类比一下:

生活

西红柿流程

说明

加盐西红柿

加糖西红柿

建造者模式

建造者

指挥者

建造者子类1

建造者子类2

 

建造者模式把一个对象的基本构建给造出来,然后根据修饰细节的不同再进行扩展创建。

注意:

1、所有的扩展子类都必须实现父类——保证建造的初衷不变。

2、子类的扩展时对父类的细节修饰——不是实质改变

 

二、类图

从图中可以看出,具体的实现是CreateeBuilder来完成的,而CreateBulider之间具体的不同又是依赖现实生活中的东西Things来体现的。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值