Re: [問題] 什麼時候該用getInstance()?

看板java作者 (Regular Expression)時間18年前 (2008/03/13 11:18), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/6 (看更多)
※ 引述《Kenqr (夏天的微笑)》之銘言: : public interface A{ void function(); } : public class B implements A{ void function(){ /*實作*/ } } : B只提供function()的實作 沒有任何變數 : 所以只需要一個instance讓大家共用就可以了 : 當然多生幾個instance出來也不會有問題 : 這種情況下應該讓B只有一個instance並用getInstance()取得呢 : 或者不必自找麻煩 用new的就好了 : 或是使用anonymous class 直接生出b讓大家用 : public static final A b = new A(){ void function(){ /*實作*/ } }; : 請問以上三種方法哪一種比較好 以及為什麼? 關於 B.getInstance(); 其實可以參考 Factorty Pattern, 將建構子封裝起來有許多好處,包括 (1)可以控制instance的數量,作 Multiton (2)管理取得此物件的權限:public, protected, default 因此不一定是需要作Singleton時才可應用 getInstance() 當然,與Factory不太一樣,這裡是直接call物件本身的getInstance method -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.67.10.34

03/13 11:23, , 1F
嚴格來說這 pattern 該叫 Factory Method
03/13 11:23, 1F
文章代碼(AID): #17s9pfPI (java)
討論串 (同標題文章)
文章代碼(AID): #17s9pfPI (java)