[C#]Singleton 模式

Singleton模式可以保證一個類別只有一個實例。

當Class只能有一個實例而且客戶可以從任何的訪問點訪問它時。
 
當這個唯一實例應該是通過子類化可擴展的,並且客戶應該無需更改代碼就能使用一個擴展的實例時。
 

例如使用在SQL SERVER上面把SQL的連接與指令包成一個Class
然後任何需要與SQL SERVER溝通的地方都可以直接透過此Class溝通
確保不會重複連線。

 多執行序

public sealed class Singleton
{
    static Singleton instance=null;
    static readonly object padlock = new object();
    Singleton()
    {
    }
    public static Singleton Instance
    {
        get
        {
            if (instance==null)
            {
                lock (padlock)
                {
                    if (instance==null)
                    {
instance = new Singleton();
                    }
                }
            }
            return instance;
        }
    }
}

靜態初始
首次使用Instance 屬性之前,不會發生實例化。

public sealed class Singleton
{
    static readonly Singleton instance=new Singleton();
    static Singleton()
    {
    }
    Singleton()
    {
    }
    public static Singleton Instance
    {
        get
        {
            return instance;
        }
    }
}

相關文章:

  1. webBrowser之取消重新傳送對話框
  2. [wm]使用TryParse
  3. SendMessage VS PostMessage
  4. C# SSC-16 控制端

FaceBook留言板

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>