Builder模式:为了构造复杂的对象,提升代码的可读性以及可维护性而创造的一种设计模式,在安卓开发中使用很多。
在构造一个对象时一般有两种方法:
①定义私有的成员变量,提供set/get方法;
②定义多参数的有参构造器,通过有参构造实例化不同参数需求的对象。
有参构造的缺点很明显,在属性较多时需要提供大量有参构造,且可读性很差;
传统构造pojo对象提供set/get方法的途径应用较多,可读性也很好,但是在开发中我们也许会在为所有想要的属性set值前就使用了这个对象(这个...还是看人吧,大老粗也许会犯),对于存在不可变参数(final)的类无可奈何。'
上面两种构造方法在复杂对象面前都稍显不足,我们引入Builder模式来解决这个问题:
Builder模式是增加了代码量来换取代码的可读性和维护性,基本思想是在待构建对象类中创建一个静态内部类提供set方法,我们在赋值时就可以通过串联调用就简单明了多了~
建造者模式步骤:
1.创建一个类,提供私有成员变量,提供get方法(可选);
2.创建一个名为Builder的静态内部类,提供和外部类对应的私有成员变量;
3.静态内部类中提供类似get方法,不同的是方法返回Builder对象: