建造者模式:Builder Pattern、创建型模式
建造者模式 将一个复杂对象的构建过程与它的表示分离,使用同样的构建过程可以创建不同的表示。
建造者模式核心在于 只需指定需要建造的类型就可以获得对象,建造细节无需关注
建造者模式应用场景
1、建造者模式适用于创建对象需要很多步骤,但是步骤的顺序不一定固定,可以将复杂对象的创建和使用进行分离。
2、相同的方法,不同的执行顺序,得出不同的结果
3、多个部件或者零件,都可以装配到一个对象中,但是参数的结果又不相同
4、产品类非常复杂,产品类的调用顺序不同产生不同的结果
建造者模式的优缺点
优点:
1、封装性好,创建和使用分离
2、扩展性好,建造类之间独立,一定程度上实现解耦
缺点:
1、代码中会产生很多个Builder对象
2、产品内部发生变化,建造者都需要修改,成本和安全相对比较大
建造者模式源码应用
1、JDK中的 StringBuilder append() 方法
2、Mybatis中的 CacheBuilder
3、Mybatis中的 SqlSessionFactoryBuilder