Re: [問題] 什麼時候該用getInstance()?
※ 引述《Kenqr (夏天的微笑)》之銘言:
: public interface A{ void function(); }
: public class B implements A{ void function(){ /*實作*/ } }
: B只提供function()的實作 沒有任何變數
: 所以只需要一個instance讓大家共用就可以了
若是只提供functon作用
那就宣告成static靜態method就好了
: 當然多生幾個instance出來也不會有問題
: 這種情況下應該讓B只有一個instance並用getInstance()取得呢
除非有特殊考量控管instance 數量 或是增加多型動態取得的彈性才使用
像資料庫,dao 則用factory或是singleton 方式
: 或者不必自找麻煩 用new的就好了
: 或是使用anonymous class 直接生出b讓大家用
: public static final A b = new A(){ void function(){ /*實作*/ } };
: 請問以上三種方法哪一種比較好 以及為什麼?
用new就是產生instance 若是沒資源考量是沒差
但是用匿名類別在加實作 只是圖個暫時方便 以後反而自找麻煩
因為以後要在用時 不是就要在貼上一次實作程式碼? 這樣設計不reuse
以上個人微薄建議
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.64.171
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):