一,概念
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...