程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> .NET 設計模式之單例模式(一),.net設計模式

.NET 設計模式之單例模式(一),.net設計模式

編輯:C#入門知識

.NET 設計模式之單例模式(一),.net設計模式


1.簡單解釋:在創建對象時,無論創建多少次,在堆空間上只會申請一次內存空間。

2.例子(1):

public class Singleton{
  private static Singleton _singleton = null;
  //鎖
  private static Object singleton_lock = new Object();
  //構造函數私有化
  private Singleton(){
      //初始化代碼
  }
  public static Singleton CreateInstance(){
     if(_singleton == null) //先看看是否初始化過,避免每次進入都要判斷鎖
     {
        lock(_singleton_lock){  //防止多個線程進入
            if(_singleton == null){  //判斷單例對象是否為null
               _singleton = new Singleton();
            }
        }
     }
     return _singleton;
  }
}

例子(2):  

public class Singleton{
  private static Singleton _singleton = null;
  //構造函數私有化
  private Singleton(){
      //初始化代碼
  }
  //靜態構造函數
  static Singleton(){
      _singleton = new Singleton();
  }
  public static Singleton CreateInstance(){
     return _singleton;
  }
}

例子(3): 

 public class Singleton{
    private static Singleton _singleton = new Singleton();
    //構造函數私有化
    private Singleton(){
        //初始化代碼
    }
    public static Singleton CreateInstance(){
       return _singleton;
    }
 }

  

 

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved