Singleton设计模式是否内置于任何框架中?

Ale*_*lex 1 c# java singleton frameworks

使用Singleton类可以保证类的一个实例可以控制程序员.真有用.

我想知道,例如,在给定的框架中是否存在Singleton接口以绕过显式创建/添加一个的需要?

decalre会很方便:

public sealed class MySingleton : ISingleton  //or a different class 
    { ... }
Run Code Online (Sandbox Code Playgroud)

然后期望该类只被实例化一次.

这是一个好主意,还是我的想法有点偏离?:)

Bal*_*usC 8

我想知道,例如,在给定的框架中是否存在Singleton接口以绕过显式创建/添加一个的需要?

它不存在也不存在.单例基本上需要一个static Singleton getInstance()方法,但因为它static,它不能被定义为抽象(接口)方法.它也有意义,只能有一个单例实现,而不是多个.摘要它是没有意义的.

你需要自己编写完整的单例.然而,我高度质疑这是如何有用的.它当然不是防止堆栈溢出或内存错误的唯一目的.编写好的代码阻止了这一点 单例只有在您希望最终用户始终处理同一实例时才有用.顺便说一句,没有单身模式,这可以做得很好.要么只是声明它,static要么使用平均框架可以为您提供的"应用程序范围"概念.

而不是单身,而是寻找控制反转(依赖注入).这也是Spring正在做的事情.他们不使用"纯粹的"单身人士.这是他们做出的糟糕的选择.

也可以看看: