第二条:遇到多个构造器参数时要考虑用构建器
当有多个构造器参数时
1.重叠构造器(telescoping constructor)模式,这是我们在遇到这一类问题时,最常使用的办法,既为每种参数组合用重载的方式写一个构造器,但是明显的缺点是随着参数的增加,代码的可读性会大大降低,如果以后需要扩展,也带来极大的不便,降低了维护性。
2.JavaBean模式,即为每一个参数写Setter方法,这样一来,使得代码的可读性变得非常好,但是随之会产生一个问题,即一个完整的构造过程被分解了,在构造过程中可能导致,Bean的状态不一致,程序员需要付出额外的努力去确保线程安全。
3.构建器(Builder)模式,写一个公有的静态内部类,