我正在寻找一种除了单身模式之外别无选择的情况。
有可能出现这种情况吗?请提供一个你实际面临的例子。
答案 0 :(得分:2)
<强> TL; DR 强>
没有&#34;没有替代品&#34;单身。
更长的版本
Singleton是一种设计模式,因此它有助于解决问题。
单身人士试图解决的问题是当你想要只创建一个类的一个实例时。为什么要限制实例数?可能有很多原因,仅举几例:
回到你的问题,Singleton,作为一种设计模式(一种工具),可以在适当的时候使用(比如锤子 - 你可以用它来敲钉子,但你总能发现另一种选择,例如石头,并用它来击中同一个钉子)。
总而言之,没有任何情况下它绝对是实现目标的唯一途径(没有任何替代方案)。
答案 1 :(得分:0)
我在使用pureMVC的应用程序中使用了单例(实际上是其中几个)。我们对这个框架引入的复杂性感到不满(通过mvc层跟踪方法调用变得复杂和分层)。因此,我们使用中央单体作为介体,以更好地将层彼此分开。 我在在线足球队商店系统中使用了单身模式。我们将单例模式应用于ShoppingCart类。
每个应用程序实例只需要一个购物车实例。所以单身人士似乎最适合这种情况
答案 2 :(得分:0)
这是一种尝试理解它的简单方法。
您是否听说过&#34;全局变量&#34;? Singleton是一个类的实例,其作用类似于全局变量。您不希望它多次实例化。对它的所有访问都必须是同一个实例。