一、简介
- 我所认为的 Builder 模式的作用就是为了分解创建复杂对象的过程,如果一个类的成员变量过多,我们要是通过构造函数创建这个类的对象的话,会显得比较臃肿,而且看起来很复杂的样子。我们正常情况下创建对象的过程如下:
|
|
这个类中七个成员变量,构造方法有七个参数,反正我看到的第一眼就感觉烦,参数太多,看的头晕!
二、使用 Builder 模式来创建对象
- 完整的代码如下所示:
|
|
分析:
第一步,先创建一个静态内部类 Builder ,参数与外部类一致
第二步,添加构造函数,设置成员变量的默认值,如果没有特殊的要求不设置也行,因为本身就有默认值。
第三步,改造一系列的 setter 方法,返回值改为 Builder
第四步,修改外部类的构造函数私有化,并且修改参数为 Builder
第五步,添加外部类的一系列 Getter 方法,对外暴露获取成员变量数据的方法,如果不需要不添加也可以。
第六步,添加 build 方法,返回 Person 对象!
创建对象的过程如下:
|
|
这样就把创建对象的过程分离开了,看着也清晰了,并且不用分顺序,好处多多!