为什么人们使用以下模式而不是单身模式

时间:2017-11-17 03:11:12

标签: design-patterns

我听说单例是有用且受欢迎的,但事实是我很少看到它出现在开源项目中。

相反,我总是看到人们使用静态方法。

以下是一个例子 link

public final class IoUtils {

private IoUtils() {
    }

public static boolean copyStream(InputStream is, OutputStream os, CopyListener 
......
}

}

Singleton Pattern表示只是“定义一个只有一个实例并提供全局访问点的类”。

我认为Utils类适合使用Singleton,因为所有其他类共享使用它。

但为什么人们会神经使用呢?

1 个答案:

答案 0 :(得分:1)

当需要单个对象进行实例化并且所有请求的对象访问都通过此特定实例时,将使用

Singleton 设计模式。如果需要,该对象可以保持状态。 记录器,打印等功能需要这种类型的对象,因为它们需要维持状态。

静态如果您的类只是无状态实用程序函数,则使用实用程序类。它不维持状态。永远不会实例化对象的实例。