<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      單例模式就是指單例類(lèi)在一定的生命周期內(nèi)只能有一個(gè)對(duì)象實(shí)例,單例類(lèi)的創(chuàng)建必須是本身,并能給使用者提供自身。

      介紹


      在現(xiàn)實(shí)世界中,每個(gè)生命體都可以被看做是一個(gè)單例對(duì)象,唯一且具體,具有不可復(fù)制性。同樣的,在軟件開(kāi)發(fā)領(lǐng)域中,有時(shí)我們需要保證客戶(hù)端在當(dāng)前的客戶(hù)機(jī)上只能運(yùn)行一個(gè)實(shí)例這個(gè)時(shí)候,我們就應(yīng)該考慮使用單例模式來(lái)實(shí)現(xiàn)這種業(yè)務(wù)場(chǎng)景。

      類(lèi)圖描述



      代碼實(shí)現(xiàn)

      1、懶漢式,線程不安全
      public class SingleObject { private static SingleObject _instance; private
      SingleObject() { } public static SingleObject GetInstance() => _instance ??
      (_instance = new SingleObject()); public void ShowMessage() {
      Console.WriteLine("Hello World"); } }
      2、懶漢式,線程安全
      public class SingleObject { private static SingleObject _instance; private
      static readonly object _locker = new object(); private SingleObject() { }
      public static SingleObject GetInstance() { if (_instance == null) { lock
      (_locker) { if (_instance == null) { _instance = new SingleObject(); } } }
      return _instance; } public void ShowMessage() { Console.WriteLine("Hello
      World"); } }
      3、靜態(tài)內(nèi)部類(lèi)延遲加載
      public class SingleObject { public static SingleObject GetInstance() =>
      Nested.Instance; private sealed class Nested { static Nested() { } internal
      static readonly SingleObject Instance = new SingleObject(); } public void
      ShowMessage() { Console.WriteLine("Hello World"); } }
      4、上層調(diào)用
      class Program { static void Main(string[] args) {
      SingleObject.GetInstance().ShowMessage(); Console.ReadKey(); } }
      總結(jié)

      對(duì)于單例模式,較為好理解,如果需要保持對(duì)象的唯一性,則可以考慮使用這種模式進(jìn)行解決。

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問(wèn)題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          欧美成人精品一区二区 | 国色天香久久精品国产一区 | AAA精品国语对白视频 | 日韩精品一区二区三区高清免费 | 国产精品美乳在线观看 | 三级视频 | 久久久久久九九九九九九 | 女人扒开尿口给男人捅 | 91精品人妻一区二区三区四区 | 国产精品人成A片一区二区 |