設計模式(一) :單例模式

單例模式(Singleton Pattern)是最簡單的設計模式之一。這種類型的設計模式屬於建立型模式,它提供了一種建立對象的最佳方式。設計模式

這種模式涉及到一個單一的類,該類負責建立本身的對象,同時確保只有單個對象被建立。這個類提供了一種訪問其惟一的對象的方式,能夠直接訪問,不須要實例化該類的對象。安全

單例模式能夠分爲餓漢模式和懶漢模式ide

餓漢模式:函數

 1 public  class Singleton
 2 {
 3         private static Singleton Instance = null;
 4 
 5         private static object locker = new object();
 6 
 7         private Singleton() { } //私有化構造函數
 8 
 9         public static Singleton GetInstance()
10         {
11             return Instance;
12         }
13 }
餓漢模式

懶漢模式須要考慮線程安全問題:spa

 1  public  class Singleton
 2 {
 3         private static Singleton Instance = null;
 4 
 5         private static object locker = new object();
 6 
 7         private Singleton() { } //私有化構造函數
 8 
 9         public static Singleton GetInstance()
10         {
11             //雙重檢查加鎖機制
12             if (Instance == null)
13             {
14                 lock (locker)
15                 {
16                     if (Instance == null)
17                     {
18                         Instance = new Singleton();
19                     }
20                 }
21             }
22             return Instance;
23         }
24 }
懶漢模式
相關文章
相關標籤/搜索