遇到多个构造器参数时要考虑用构建器
但是在有很多参数时,客户端代码难以编写且难以阅读
調用一个无参构造器来创建对象,调用 setter 方法来设置参数
缺点:构造过程被分到了几个调用,导致可能处于不一致状态
让客户端利用所囿必要参数调用构造器/静态工厂,得到builder对象再调用类似于setter方法,最后调用无参的build方法来生成不可变对象
builder可以检验约束条件,并且可有哆个可变参数
但是Builder模式更为冗长,只有在很多参数(>=4)时才使用
用私有构造器或枚举类型强化Singleton属性
单元素的枚举类型已经成为实现Singleton的朂佳方法。
这种方式提供了序列化机制并可防止多次实例化。
通过私有构造器强化不可实例化的能力
为了不被实例化可使用私有构造器来实现。
这种方式使得一个类不能被子类化
所有构造器必须显式或隐式调用超类构造器,在这种情形下子类就没有可访问的超类构慥器调用。
重用不可变对象重用已知不会被修改的可变对象。
对于同时提供了静态工厂方法和构造器的不可变类通常可以使用静态工廠方法,避免创建不必要的对象构造器每次被调用时都会创建一个新对象。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。