天天看點

改善JAVA代碼01:考慮靜态工廠方法代替構造器正文 一句話:構造器雖是萬能,但是要珍惜。服務通路API -----靈活的動态工廠總結

    說起這個,好多可以念叨的。做了一年多的項目,慢慢也有感觸。

  大家很明白,構造器可以讓我們在何處何地擷取自身或者他人一個執行個體。我們是無忌憚的使用着 new 卻從來沒考慮過人家的感受。其實new ,new一個對象,就是開辟一塊記憶體空間給這個對象。如果何處何地,都new的話,漫山遍野...

  

改善JAVA代碼01:考慮靜态工廠方法代替構造器正文 一句話:構造器雖是萬能,但是要珍惜。服務通路API -----靈活的動态工廠總結

    五顔六色的new ,本質卻一樣

    靜态工廠方法,顧名思義,隻是一個傳回類執行個體的靜态方法。這裡有個不切當的比喻,我覺得靜态工廠方法的好處,就像手龍頭一樣,一直有水(對象)。要就用這個方法呗。

看看下面的簡單例子吧

  #boolean基本類型轉換成boolean對象引用。

  #static

  根據上面例子,相比構造器,大家和我一起讨論下:

    1 它開始有名稱

    2 不必每次調用它們,建立一個新對象

    3 傳回原傳回類型的任何子類型的對象

下面實作一個服務提供者接口和一個預設提供者:

  #providers  

  # newinstance 該方法為靜态工廠方法

  這個例子則告訴我們

    4 他們在建立參數化類型執行個體時候,代碼更加簡潔。

  靜态工廠方法

    (生活離不開尋找對象,尋找方式,你說呢?)