文章翻译自 Implementing the Singleton Pattern in C#。
Singleton 是一种典型的设计模型。通常一个类称为 Singleton 范式意味着这个类只能实例化出一个对象。原文里面有复杂的推导过程。我们这里不赘述了。Singleton 设计的重点包含以下几个方面:
- 线程安全;
- Lazy 初始化,即需要时再创建对象;
- 实现简单
文章最后给出的设计方法如下:
1 | public sealed class Singleton |
这里使用了 .NET 4 提供的 Lazy<T>
类型。