使用静态工厂方法需要注意的地方

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaozhiwen6140/article/details/86085054

1.静态工厂方法优于构造器的原因:

(1).静态工厂方法可以有名称(即方法名)。如果构造器的参数没有确切的描述被返回的对象,那么有名称的静态工厂方法会更容易使用。

(2).不必在每次调用的时候都创建一个新的对象。

(3).可以返回原返回类型的任何子类型的对象(上转型)。

(4).在创建参数化类型实例的时候,会使方法变的更加简洁(相对来说)。

缺点:它们都不能扩展到大量的可选参数,如果碰到有大量参数的时候,可以使用建造者(Builder)模式(或者也可以使用单例进行管理一个JavaBean的类,这样能在各处调用,单独赋值某个参数的时候,能保证数据的一致性,同时也确保了线程的安全性),利用Builder模式十分灵活,可以使用单个Builder构建多个对象,可以创建对象时对参数进行调整。

2.可以通过私有构造器以及枚举来实现SingleTon(单例模式)

3.通过私有构造器强化不可实例的能力(构造器私有,只能在本类中创建对象,不能在别的类中调用构造器创建对象)

4.最好能重用对象,而不是在每次使用的时候都创建一个相同功能的新对象。对于同时提供静态工厂方法跟构造器的类,使用静态工厂方法代替构造器能避免创建过多无用的对象。

猜你喜欢

转载自blog.csdn.net/zhaozhiwen6140/article/details/86085054