單件模式(1)

2021-05-28 08:20:18 字數 1743 閱讀 2724

一,概念

1) 意圖

保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點。 

二,練習**

using system;

using system.collections.generic;

using system.text;

namespace csharpbase.designpattern.singleton

}/// /// 簡單實現

///

sealed class singleton

public static singleton instance()

return instance;}}

/// /// 執行緒安全

///

class singleton2

public static singleton2 instance()

}return instance;}}

/// /// 雙重鎖定

///

class singleton3

public static singleton3 instance()} }

return instance;

}

}/// /// 靜態初始化(繼承)

///

class singleton4

protected singleton4()

public static singleton4 instance()

public void writetype()

}class singlechild : singleton4

public static new singlechild instance()

public void writeme()

}/// /// 靜態初始化

///

sealed class singleton5

singleton5()

public static singleton5 instance}}

/// /// 靜態初始化(延遲初始化)

///

/// /// 此例將靜態私有變數放到nested中返回,這樣可以延遲初始化。

/// 原因:當對類的任何成員的第一次引用是,會初始化靜態成員變數。

///

sealed class singleton6

public static singleton6 instance()

public static string tostr()

internal class nested

public static singleton6 instance = new singleton6();}}

#region sample

sealed class countsingleton

countsingleton()

public static countsingleton instance()

public void add()

public int getcounter()

}public class countmultithread

}console.writeline("------------------------");

//}}

public static void multimain()

}#endregion

}

c 設計模式1 單件模式

單件模式應該是所有設計模式中最簡單的乙個了,但是如果使用不當會出現很多問題,下面我們就分析一下單件模式 作用 保證乙個class只有乙個實體 instance 並為它提供乙個全域性唯一的訪問點 適用性 1 對於乙個類 物件 如果它比較大 占用的系統資源非常多 而且這些資源可以被全域性共享,則可以設計...

單件模式(單例模式)

readme 0.1 本文部分描述 head first 設計模式 旨在學習 單件模式 單例模式 的相關知識 及其應用 單件模式 1.0 單件模式的應用背景 有一些物件其實我們只需要乙個,比方說 執行緒池,快取,對話方塊,登錄檔等的物件,這都可以通過單件模式來解決 1.1 定義 確保乙個類只有乙個例...

單件模式(單例模式)

1 單件模式 確保乙個類只有乙個例項,並提供乙個全域性訪問點。2 經典的單件模式實現 public class singleton public static singleton getinstance return uniqueinstance 問題點 public static singleto...