我听说单例是有用且受欢迎的,但事实是我很少看到它出现在开源项目中。
相反,我总是看到人们使用静态方法。
以下是一个例子 link
public final class IoUtils {
private IoUtils() {
}
public static boolean copyStream(InputStream is, OutputStream os, CopyListener
......
}
}
Singleton Pattern表示只是“定义一个只有一个实例并提供全局访问点的类”。
我认为Utils类适合使用Singleton,因为所有其他类共享使用它。
但为什么人们会神经使用呢?
答案 0 :(得分:1)
Singleton 设计模式。如果需要,该对象可以保持状态。 记录器,打印等功能需要这种类型的对象,因为它们需要维持状态。
静态如果您的类只是无状态实用程序函数,则使用实用程序类。它不维持状态。永远不会实例化对象的实例。