您好,登錄后才能下訂單哦!
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
{
/// <summary>
/// 單例模式之懶漢式
/// </summary>
private Animus() { }
private static Animus _animus = null;
public static Animus GetAnimus()
{
if (_animus == null)
{
_animus = new Animus();
}
return _animus;
}
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。