2013-10-30 82 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; 
        } 
    }