C#实现单例模式的几种方法
- 介绍
- 非线程安全的单例版本
- 简单线程安全版本(通过lock实现)
- Double-checked locking
- 不完全懒汉式,但不加锁的线程安全
- 完全懒汉实例化
- 使用.NET 4 Lazy<T> type 特性
- 性能 vs 懒汉式
- Exceptions
- 总结
介绍
单例模式是软件工程学中最富盛名的设计模式之一。从本质上看,单例模式只允许被其自身实例化一次,且向外部提供了一个访问该实例的接口。通常来说,单例对象进行实例化时一般不带参数,因为如果不同的实例化请求传递的参数不同的话会导致问题的产生。(若多个请求都是传递的同样的参数的话,工厂模式更应该被考虑)