欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Asp.Net設計模式之單例模式詳解

 更新時間:2017年11月08日 14:43:32   作者:青衫故人1  
這篇文章主要為大家詳細介紹了Asp.Net設計模式之單例模式的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享了Asp.Net設計模式之單例模式,供大家參考,具體內(nèi)容如下

一、設計目的:讓項目中只顯示一個實例對象

二、設計步驟:

創(chuàng)建一個類;
構(gòu)建類類型靜態(tài)變量;
定義返回值類為單例類型的靜態(tài)方法;
判斷靜態(tài)變量instance是否為空:如果為空,就創(chuàng)建實例,然后給單例類中的字段進行賦值;如果不為空:返回此變量(return instance;)
單例模式創(chuàng)建成功;

三、項目相關名詞或知識點解釋

此處類類型:如果當前類為SingleCase,則此靜態(tài)變量類型也要為SingleCase類型,即在此處定義的靜態(tài)變量的類型要和這個當前類的類型相同。

定義單例實例變量時,盡量都用instance(實例)來指代,方便以后自己和他人對代碼的閱讀。

靜態(tài)變量在內(nèi)存中只有一個,只占一份兒。

四、相關源碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SingleCaseModel00
{
 /// <summary>
 /// 1.創(chuàng)建這么一個類
 /// </summary>
 class SingleCase
 {
  //2.構(gòu)建類類型靜態(tài)變量
  //此處類類型:如果當前類為SingleCase,則次靜態(tài)變量類型也要為SingleCase類型,
  //即在此處定義的靜態(tài)變量的類型要和這個當前類的類型相同
  //定義單例實例變量時,盡量都用instance(實例)來指代,方便閱讀
  //靜態(tài)變量在內(nèi)存中只有一個,只占一份兒
  public static SingleCase instance = null;
  //10.定義一個字段,用來進行測試
  public string name;
  //3.定義返回值類為單例類型的靜態(tài)方法
  public static SingleCase getInstance(string n)
  {
   //4.判斷靜態(tài)變量instance是否為空
   if (instance == null)
   {
    //5.如果為空,就創(chuàng)建實例
    instance = new SingleCase();
    //6.給單例類中的字段進行賦值
    instance.name = n;
   }
   //7.返回此變量
   return instance;
  }
  //8.如果這個類中還有其他的字段,那么直接在下面寫出來即可
  //如下:
  //public string Name;
  //public int Age;
 }
 class Program
 {
  static void Main(string[] args)
  {
   //9.調(diào)用上述單例類中方法,測試單例類
   SingleCase s1 = SingleCase.getInstance("我是第一次傳過來的參數(shù)");
   SingleCase s2 = SingleCase.getInstance("我是第二次傳過來的參數(shù)");
   Console.WriteLine(s1.name);
   Console.WriteLine(s2.name);
   Console.ReadKey(); 
  }
 }
}

五、結(jié)果展示

六、對結(jié)果的解釋說明

兩次輸出的結(jié)果是一樣的,這是因為當?shù)谝淮蝹魅雲(yún)?shù)的時候,instance 為空,執(zhí)行上面的方法后,name的值就變成了“我是第一次傳過來的參數(shù)”,當你第二次再次傳入?yún)?shù)時,由于靜態(tài)變量在內(nèi)存中只有一個,只占一份兒,所以此時instance 已經(jīng)不為空了,還會直接輸出第一個參數(shù)是的instance 值,所以,不管你輸入幾次參數(shù),輸出的結(jié)果都會是第一次輸出的那個instance 值,這也就是單例模式的機制所在。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論