Builder生产器模式

简介

用于复杂对象的初始化工作,其通常有诸多的成员变量,嵌套对象。

模式架构

生成器

一个通用的产品构造器,接口中的步骤都需要进行构造。

具体生成器

提供具体的实现,生成器可以构造不遵循接口的产品,取决于生成器内的getRes()方法返回的对象。

产品

最终生成的产品,不需要属于同一类层次结构或接口

主管

这里定义所有的产品的生产(初始化)步骤,传参可以是通用的接口,也可以传自定义的接口。

可以都是void方法,重点是传的接口类型以及方法内初始化的步骤

客户端

首先需要初始化一个主管。只需要关心让主管使用哪一个生产(初始化)步骤,以及传给主管的生成器,而生成器决定了最终生产的产品类型。

只需要初始化一次主管,和一个生成器就可以通过主管的不同生产方法,产生不同的对象。每一次调用都会产生一个新的对象


Reference

https://refactoringguru.cn/design-patterns/builder