2013-10-30 112 views
-2

在代碼審查,我面臨的一個類,包括下面的方法對:尋找更好的方法名

getOrCreateXXXFor(YYY) 
getXXXFor(YYY) 

(XXX和YYY是兩個業務邏輯的類型。)我不知道這是否是理想的名稱。

第一確實相關的單例模式但具有參數和

  • 返回一個對象,如果它存在或
  • 創建並返回它,如果它不存在。

第二個

  • 返回相同的對象作爲第一方法,但只是,如果它存在
  • 拋出Exception,如果它不存在它。

我在考慮是否應該重新命名它們。你有更好的建議嗎?


[編輯] 更具體:(用於讀取文檔,而不需要)

  • 的關係

    • 的名稱應該是發生了什麼簡明扼要的說明這兩種方法應該保留名稱

    總之,它應該導致一個乾淨的API。 給予一個很好理解的名字是軟件工藝的核心部分。該主題與分類數組一樣基於小意見。

  • +1

    你如何定義一個「理想」的名字? –

    +1

    他們是否返回不同的對象? –

    +0

    @HussainAkhtarWahid哪個網站? (誠​​實的問題)。 – Josh

    回答

    2

    看一看在Singleton-Pattern和/或Flyweight-Pattern

    我會建議其實現爲獨立的,並提供了一個存在方式。

    public class SingletonDemo { 
        private static volatile SingletonDemo instance = null; 
    
        private SingletonDemo() {  } 
    
        public static SingletonDemo getInstance() { 
          if (instance == null) { 
            synchronized (SingletonDemo .class){ 
              if (instance == null) { 
                instance = new SingletonDemo(); 
              } 
            } 
          } 
          return instance; 
        } 
    
        public boolean exists() { 
         return instance != null; 
        } 
    }