使用靜態工廠方法需要注意的地方

1.靜態工廠方法優於構造器的原因:

(1).靜態工廠方法可以有名稱(即方法名)。如果構造器的參數沒有確切的描述被返回的對象,那麼有名稱的靜態工廠方法會更容易使用。

(2).不必在每次調用的時候都創建一個新的對象。

(3).可以返回原返回類型的任何子類型的對象(上轉型)。

(4).在創建參數化類型實例的時候,會使方法變的更加簡潔(相對來說)。

缺點:它們都不能擴展到大量的可選參數,如果碰到有大量參數的時候,可以使用建造者(Builder)模式(或者也可以使用單例進行管理一個JavaBean的類,這樣能在各處調用,單獨賦值某個參數的時候,能保證數據的一致性,同時也確保了線程的安全性),利用Builder模式十分靈活,可以使用單個Builder構建多個對象,可以創建對象時對參數進行調整。

2.可以通過私有構造器以及枚舉來實現SingleTon(單例模式)

3.通過私有構造器強化不可實例的能力(構造器私有,只能在本類中創建對象,不能在別的類中調用構造器創建對象)

4.最好能重用對象,而不是在每次使用的時候都創建一個相同功能的新對象。對於同時提供靜態工廠方法跟構造器的類,使用靜態工廠方法代替構造器能避免創建過多無用的對象。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章