using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace 單例模式
{
/// <summary>
/// 單例模式作用産生唯一對象
單例類隻能有一個執行個體。
單例類必須自己建立自己的唯一執行個體。
單例類必須給所有其它對象提供這一執行個體。
應用:
每台計算機可以有若幹個列印機,但隻能有一個printer spooler,避免兩個列印作業同時輸出到列印機。
一個具有自動編号主鍵的表可以有多個使用者同時使用,但資料庫中隻能有一個地方配置設定下一個主鍵編号。否則會出現主鍵重複。
/// </summary>
class program
{
static void main(string[] args)
{
//餓漢式
penson p = penson.getpenson();
//懶漢式
animus animus = animus.getanimus();
}
}
class penson
/// <summary>
/// 單例模式之餓漢式
/// </summary>
//第一步設定私有的構造函數
private penson()
{ }
//第二步:設定全局唯一變量
private static penson _penson = new penson();
//第三步:寫傳回值為penson類型的函數
public static penson getpenson()
return _penson;
class animus
/// 單例模式之懶漢式
private animus() { }
private static animus _animus = null;
public static animus getanimus()
if (_animus == null)
{
_animus = new animus();
}
return _animus;
}