建造者模式(学习笔记)

建造者模式

建造者模式是创建复杂对象才使用的设计模式。

适用场景:在你的设计当中,有一个特别复杂的类,这个类是由多个对象组合而成,创建自然也比较复杂。而它的创建方式也有很多种(由不同的对象组合而成),这时,我们希望把这个类的构建与其表示分离开来,这样既方便构建,还可以代码复用。

定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。

uml图:

解释:

 Builder(抽象建造者):它定义了建造一系列类所有相同必要的步骤方法(builderPartX),它可以是抽象类或接口。当然,它还必须有一个用于返回创建完成的对象的方法(getResult)。

ConcreteBuilder(具体建造者):实现Builder接口(或继承于Builder抽象类),用于创建你所需要的产品。当想扩展另一种这个产品的创建方式时,新定义一个具体的builder就可以了(可见其方便扩展)。

Product(产品角色):复杂的类,由多个对象组合而成。

 Director(指挥者):用于定义复杂对象创建过程,也就是指定builder的创建流程。客户端一般只需要与指挥者进行交互,在客户端确定具体建造者的类型,并实例化具体建造者对象(也可以通过配置文件和反射机制),然后通过指挥者类的构造函数或者Setter方法将该对象传入指挥者类中。个人认为,这个指挥者也可以有多种。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值