建造者模式

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

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

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

优点

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

缺点

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

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

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

与工厂模式区别

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

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

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

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6