【发布时间】:2021-06-09 13:35:40
【问题描述】:
如果两者没有任何区别,那么为什么会出现单例模式。如果有人知道好的文章或博客,请与我分享。
单例对象:
class Singleton{
private static Singleton singleton = null;
public static getInstance(){
if(singleton == null)
singleton = new Singleton();
return singleton;
}
public String getData() return "";
}
静态函数:
class Static{
public static String getData() return "";
}
【问题讨论】:
-
Singleton 在使用比仅返回字符串更复杂的函数时具有优势。也谷歌“java单例用例”,你会得到大量的文章。它也在 stackoverflow 上讨论过:stackoverflow.com/q/228164/2135838
-
@Sascha 感谢您的回复!我用谷歌搜索,但在单例对象和静态类上有所不同。我的问题是在上述两种方法中哪一种更好。如果我们在单例对象中也有一个状态。我们可以得到静态变量,那么为什么我们首先需要一个单例对象。
-
如果您只想要一堆静态值,则不需要单例对象。如果您有更复杂的方法,则单例很有用。它们也可以通过注解声明,并在 spring 和 EJB 框架中被依赖注入使用。因此,这在很大程度上取决于您的用例。
-
避免使用任何一种,除非您有非常充分的理由使用它:williamdurand.fr/2013/07/30/from-stupid-to-solid-code
-
单例模式比 Java 早两年出现(作为一种模式)。
标签: java oop design-patterns