设计模式:建造者模式-简化复杂对象的创建流程

在软件开发中,创建复杂对象往往需要耗费大量的时间和资源。建造者模式通过将对象的构建过程与表示分离,使得复杂对象的创建变得更加灵活和高效。


定义

建造者模式(Builder Pattern)属于创建型模式,是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 用户只需指定需要建造的类型就可以获得对象,建造过程及细节不需要了解。

源码应用

MyBatis-Plus:MyBatis-Plus 内置了一套功能强大的条件构造器(Wrapper),它利用建造者模式链式调用的方式实现了复杂数据库查询条件的灵活构建,大大简化了SQL语句的编写工作。

适用场景

  • 适用于创建对象需要很多步骤,但是步骤的顺序不一定固定。

  • 对象有非常复杂的内部结构(很多属性)

  • 复杂对象的创建和使用分离

优缺点

优点

  • 封装性好:创建过程与表示分离,提高了代码的可读性和可维护性。

  • 扩展性强:可以通过增加新的具体建造者来增加新的变体,而无需修改已有的代码。

  • 灵活度高:可以构建不同类型的对象,只需改变具体建造者的实现即可。

缺点

  • 额外的对象创建:每个建造者都会创建一个对象,可能会导致过多的对象实例。

  • 维护成本较高:如果产品内部结构发生变化,所有相关的建造者类都需要进行修改。

总结

建造者模式通过将构建过程与最终产品的表示分离,简化了复杂对象的创建流程。它非常适合处理那些需要精细控制构建过程的情况。通过使用建造者模式,可以轻松地创建不同类型的产品,而无需改变产品本身的构建逻辑。