单例模式的核心:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
写法过程:
1.创建一个静态变量用来生成实例
2.构造私有化
3.返回实例
using System; namespace SingletonModel { class Program { static void Main(string[] args) { EagerLogPrintPool.GetInstance().name="饥汉式单例模式"; Console.WriteLine(EagerLogPrintPool.GetInstance().name); LasyLogPrintPool.GetInstance().name = "懒汉式单例模式"; Console.WriteLine(LasyLogPrintPool.GetInstance().name); Console.ReadKey(); } } /// <summary> /// 饥汉式单例模式,一开始就实例化 /// </summary> class EagerLogPrintPool { private static EagerLogPrintPool instance = new EagerLogPrintPool(); public string name { get; set; } private EagerLogPrintPool() { } public static EagerLogPrintPool GetInstance() { return instance; } } /// <summary> /// 懒汉式单例模式,需要的时候才实例化 /// </summary> class LasyLogPrintPool { private static LasyLogPrintPool instance; public string name { get; set; } private LasyLogPrintPool() { } public static LasyLogPrintPool GetInstance() { if (instance == null) { instance = new LasyLogPrintPool(); } return instance; } } }