Builder生产器模式
简介
用于复杂对象的初始化工作,其通常有诸多的成员变量,嵌套对象。
模式架构
生成器
一个通用的产品构造器,接口中的步骤都需要进行构造。
具体生成器
提供具体的实现,生成器亦可以构造不遵循接口的产品,取决于生成器内的getRes()方法返回的对象。
产品
最终生成的产品,不需要属于同一类层次结构或接口。
主管
这里定义所有的产品的生产(初始化)步骤,传参可以是通用的接口,也可以传自定义的接口。
可以都是void
方法,重点是传的接口类型以及方法内初始化的步骤。
客户端
首先需要初始化一个主管。只需要关心让主管使用哪一个生产(初始化)步骤,以及传给主管的生成器,而生成器决定了最终生产的产品类型。
只需要初始化一次主管,和一个生成器就可以通过主管的不同生产方法,产生不同的对象。每一次调用都会产生一个新的对象。
Reference
https://refactoringguru.cn/design-patterns/builder