第一条:考虑用静态工厂方法代替构造器
对于类来说,为了让客户端获取自身的一个实例,最常用的方法是提供一个共有的构造器。另一个方法是:类可以提供一个共有的静态工厂方法。
注意:这里的静态工厂方法不直接对应设计模式中的工厂方法。
类可以通过静态工厂的方法来提供它的客户端,而不是通过构造器。
静态工厂的优势在于:
1.静态工厂方法与构造器不同的第一大优势是:他们有名称。
2.第二大优势:不必在每次调用的他们的时候都构建一个新对象。
3.第三大优势:他们可以返回原返回类型的任何子类型的对象。
4.第四大优势:在创建参数化类型实例的时候,他们使代码变得更加简洁。
缺点:
1.主要缺点在于类如果不含有共有的或者受保护的构造器,就不能被子类化。但是这样的话,会鼓励程序员使用复合而不是继承。
2.第二个缺点在于:他们与其他静态方法实际上没有任何的区别。
第二条:遇到多个构造器参数时,考虑使用构建器。