标签:key div 不能 构造方法 进程 ado 辅助 summary returns
最近用到了单例模式,以下是个人理解,如有不对的请各路大神指点
1.简介:单例模式严格定义一个类只有一个实例,并提供一个他的全局访问点。
2.解决问题:当一个类只是要求可以创建一个实例时,需要使用单例模式。
3.构成:由一个私有变量,一个私有构造函数和一个公共的方法构成。
4.实例:
public class Singleton { /// <summary> /// 程序运行时,创建一个静态只读的进程辅助对象 /// </summary> private static readonly object _object=new object(); /// <summary> /// 构造方法私有,外键不能通过New类实例化此类 /// </summary> private static Singleton instance; //私有构造方法Singleton(),外界不能使用new关键字来创建此类的实例了。 private Singleton() { } /// <summary> /// 此方法是本类实例的唯一全局访问点 /// (双重加锁 Double-Check Locking) /// </summary> /// <returns></returns> public static Singleton GetInstance() { //先判断实例是否存在,不存在再加锁处理 if (instance==null) { //在同一时刻加了锁的那部分程序只有一个线程可以进入, lock (_object) { //如实例不存在,则New一个新实例,否则返回已有实例 if (instance==null) { instance = new Singleton(); } } } return instance; } } 客户端调用: class Program { static void Main(string[] args) { var singleton1 = Singleton.GetInstance(); var singleton2 = Singleton.GetInstance(); if (singleton1==singleton2) { Console.WriteLine("2个实例相同"); } Console.ReadKey(); } }
标签:key div 不能 构造方法 进程 ado 辅助 summary returns
原文地址:http://www.cnblogs.com/mili3/p/7675711.html