定义
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
实现
一:饿汉式
/// <summary> /// 单例模式:确保程序运行过程中一个类对象只能有一个实例 /// </summary> public class Singleton { /// <summary> /// 方式一: 静态实例,只会随类的加载实例化一次 /// </summary> public static Singleton Instance = new Singleton(); }
二:懒汉式
/// <summary> /// 单例模式:确保程序运行过程中一个类对象只能有一个实例 /// </summary> public class Singleton { private static readonly object locker = new object(); private static Singleton Instance; /// <summary> /// 私有化构造函数模式 /// </summary> private Singleton() { } public Singleton getInstance() { if (Instance == null) { lock (locker) { if (Instance == null) Instance = new Singleton(); } } return Instance; } }