建造者模式--学习理解

本文介绍了建造者模式的四个核心角色——产品、抽象建造者、具体构建者和指挥者,阐述了其封装产品细节、创建过程解耦等优点,以及在产品差异大或内部结构复杂时可能遇到的问题。同时,与抽象工厂模式进行了对比,指出建造者模式适用于定制化需求明显的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

建造者模式(生成器模式)的四个角色:

1)Product 产品角色:一个具体的产品对象
2)Builder 抽象建造者:一个指定生成产品所需要的各个步骤(方法)的
                      接口或抽象类
3)ConcreteBuilder 具体构建者:实现接口或继承抽象类,具体构建的执行者
4)Director 指挥者: 即Builder的调用者,负责调度产品的生产过程


好处:
    1.对产品的具体细节进行封装,上层调用者只需要设置参数就
    可以得到想要的产品,
    2.实现创建过程和产品本身的解耦,使得相同的创建过程,因为参数
    不同,就可以得到不同的对象
    3.可以更加精细地控制产品的创建过程
    4.增加新的具体建造者无须修改原有类库的代码,指挥者类针对
    抽象建造者类编程,系统扩展方便,符合 “开闭原则”


存在的问题:
5) 建造者模式所创建的产品一般具有较多的共同点,其组成部分相似,如果产品之间
的差异性很大,则不适合使用建造者模式,因此其使用范围受到一定的限制。
6) 如果产品的内部变化复杂,可能会导致需要定义很多具体建造者类来实现这种变化,
导致系统变得很庞大,因此在这种情况下,要考虑是否选择建造者模式.

同样是创建型模式,抽象工厂模式并不关心产品本身的构建过程,只关心什么产品
由什么工厂生产,即抽象工厂模式创建的产品是批量,事先定制完毕的,属于是
需要就直接调用获取一个产品对象。(产品不具有多样性,无法实时定制化处理)

建造者模式则关注通过一系列组装过程得到想要的定制对象,适用于产品具有明确
的定制化需求的情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值