一、单例模式的定义

  确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一的实例,是一种对象创建型模式,有如下3个要点:

  • 只能有一个实例
  • 必须是自行创建这个实例
  • 必须自行向整个系统提供这个实例

二、单例模式的结构

  • 一个类型为自身的静态私有成员变量 - 存储唯一实例
  • 一个私有的构造函数
  • 一个公有的静态成员方法 ,返回唯一实例,对象为自身
 
 1  class SingletonClass
 2     {
 3         private static SingletonClass _instance = null;   //静态私有成员变量,存储唯一实例
 4 
 5         private SingletonClass()    //私有构造函数,保证唯一性
 6         { 
 7         }
 8 
 9         public static SingletonClass GetInstance()    //公有静态方法,返回一个唯一的实例
10         {
11             if (_instance == null)
12             {
13                 _instance = new SingletonClass();
14             }
15             return _instance;
16         }
17     }
 

三、单例模式的两种书写方法

1.类被加载时就将自己实例化

C#单例模式的理解
C#单例模式的理解
 1 class SingletonClass
 2     {
 3         private static SingletonClass _instance = new SingletonClass();
 4        
 5         private SingletonClass()
 6         { 
 7         }
 8 
 9         public static SingletonClass GetInstance()
10         {
11             return _instance;
12         }
13     }
C#单例模式的理解

相关文章: