public class MySingletonClass
{
public MySingletonClass()
{
_mySingletonObj = Instance();
}
public static MySingletonClass Instance()
{
if (_mySingletonObj == null)
{
lock (typeof(lockObject))
{
if (_mySingletonObj == null)
_mySingletonObj = new MySingletonClass();
}
}
return _mySingletonObj ;
}
}
MySingletonClass _myObj = new MySingletonClass();
Run Code Online (Sandbox Code Playgroud)
这个作为公共建设者的单身人士......?
谢谢
Jon*_*eet 14
不,它不是单身人士 - 任何人都可以创建它的多个实例.(暂且不谈已经提出的堆栈溢出问题,以及你不安全地使用双重检查锁定的事实.)
单例类型的一个显着特征是它可以防止构造其自身的多个实例.
来自维基百科Singleton Pattern文章:
在软件工程中,单例模式是一种设计模式,用于将类的实例化限制为一个对象.
Singleton是两个基本属性的组合:
- 确保一个类只有一个实例
- 提供全局访问点
很明显,你的单身人士无法满足这两个定义.
有关实际实现,请参阅我的单例文章.
| 归档时间: |
|
| 查看次数: |
7256 次 |
| 最近记录: |