建造者模式

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

适用场景:
工厂类负责创建的对象较少。
客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心。

优点:

封装性好,创建和使用分离。
拓展性好,建造类之间独立、一定程度上解耦。

缺点:

产生多余的builder对象。
产品内部发生变化,建造者都要修改,成本较大。

源码应用
               1)StringBuilder、mybatis里的CacheBuilder、SqlsessionFactoryBuilder、BeanDefinitionBuilder

               2)java.sql包下的Connection管理数据库连接

与工厂模式区别:

1、建造者模式更加注重方法的调用顺序,工厂模式注重于创建对象

2、创建对象的力度不同,建造者模式创建复杂的对象,由各种复杂的部件组成,工厂模式创建出来的都一样

3、关注点:工厂模式只需要把对象创建出来就可以了,而建造者模式中不仅要创建出这个对象,还要知道这个对象由哪些部件组成

4、建造者模式根据建造过程中的顺序不一样,最终的对象部件组成也可能不一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值