黑馬程式設計師 認識單例模式

2021-06-22 18:07:06 字數 853 閱讀 8589

---------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

通過聽蔣坤老師的課,終於了解了建立模式的基本原理了,以後見了各種模式再也不用愁了,因為他們都是紙老虎啊。

例子:class program

}class single 

public int num

private  static single single; 

public static single func()                

else}}

執行結果:

解析:1、上面使用寫靜態欄位的方法寫的單例模式,這只是實現單例模式最常用的一種方法。

2、因為單例模式只允許呼叫一次建構函式,即只能占用乙個固定的堆記憶體,所以我們首先必須把建構函式寫成私有private的,以保證在外部不能隨便的建立多個single物件。將single的建構函式寫成私有的,那麼我們就只能在類中用它了,所以我們寫乙個靜態字段用來存放single型別的變數,即single物件。然後寫乙個方法,通過判斷single欄位是否為空,來看是直接返回值還是建立single物件。這樣我們就保證了single類只能被new一次,即只能建立乙個物件(因為第一次建立了乙個single物件後,single欄位就永遠不會為空,那麼就永遠也不會產出新的物件)。所以上面的s和s1物件實際上是指向同一堆記憶體空間處的。

--------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

黑馬程式設計師 單例模式

什麼叫單例模式 單例模式 singleton 是一種常用的設計模式。單例模式,也叫單子模式。在應用這個模式時,單例物件的類必須保證只有乙個例項存在。許多時候整個系統只需要擁有乙個的全域性物件,這樣有利於我們協調系統整體的行為 單例模式特點 顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必...

黑馬程式設計師 單例模式

asp.net unity開發 net培訓 期待與您交流!單例模式 解決乙個類在記憶體中只存在乙個物件的情況 為了保證避免程式過多建立物件,禁止其他程式建立該類物件 為了其他程式可以訪問該類物件,只好在本類中自定義物件 為了方便其他程式對自定義物件的訪問,可對物件提供一些訪問方式。單例模式實現方式 ...

黑馬程式設計師 單例設計模式

asp.net android io開發s net培訓 期待與您交流!設計要求 1.只能被例項化一次。2.由自己建立例項。3.能向該類任意引用提供上述例項。方式一 餓漢式 class single public static single getinstance 方式二 懶漢式 class sing...