构建器的使用

尴尬的多参数构造器:

很多时候我们会碰到有十几二十个成员的类,这让我们用构造器去实例化他们变得不好写,不好读。以往我们有2种解决方法。

1.重叠构造器的使用:

诸如People(int age),People(int age,int sex),People(int age,int sex,String name)但是参数相当多时,还是显得不易使用

2.javaBean的风格:

给每个属性,set和get,但是这样也破坏了对象的不可变性,在需求这个特性的场合就变的不适用了。并且构造过程被分到几个调用中,在构造过程中可能处于不一致的状态

构建器风格:

我们在类的内部声明一个static内部类Builder,对外部类的所有成员赋值操作全部通过内部类的build方法完成并返回外部类的实例。

如此,保留了set和get的优点不至于在众多参数重迷路,也不会破坏类的不可变性。改变build的属性值可以重新build一个新外部类出来

 

posted @ 2019-06-07 17:20  l2c  阅读(173)  评论(0)    收藏  举报