设计模式笔记02--建造者模式

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

  • 说明:用户只需要指定需要构造的类型就可以得到它们,建造过程及细节不需要知道.当创造一个对象需要很多步骤时,适用建造者模式;当需要一个简单的方法来创建简单的对象时,适用于工厂模式

  • 类型:创建型

  • 适用场景:

    • 如果一个对象有非常复杂的内部结构(很多属性)
    • 想把复杂对象的创建和使用分离
  • 优点:

    • 封装性好,创建和使用分离
    • 扩展性好,建造类之间独立,一定程度上解耦
  • 缺点:

    • 产生了多余的Builder对象
    • 产品内部发生变化,建造者也要修改,成本较大
  • 与工厂模式的区别:

    • 建造者模式更注重于方法的调用顺序,而工厂模式注重于创建产品(对象)
    • 创建对象的粒度不同,建造者模式可以创建一些复杂的产品(对象),由各种的复杂构建组成;工厂模式创建出来的对象都相同
    • 创建对象的顺序不同,建造者模式可以创建一些复杂的产品(对象),由各种的复杂构建组成;工厂模式创建出来的对象都相同
  • 注:在mybatis中也使用了建造者模式,在建造者模式中使用了建造者模式,主要目的也是为了独立和解耦

你可能感兴趣的:(设计模式笔记02--建造者模式)