21種設計模式之 單例模式

2021-07-24 13:50:17 字數 504 閱讀 2737

單例模式

使用場合:適合乙個類中只有乙個例項的情況。比如任務管理器。

單例模式的必要要素:a)私有的建構函式

b)私有的靜態靜態字段

c)以自己為返回值靜態

公共的方法

單例在使用場景的不同又分為了餓漢單例和懶漢單例模式

餓漢單例模式在類的載入時就把類的例項交給了引用

懶漢單例模式只有取得類的例項方法是才會例項乙個物件。

餓漢單例:

懶漢單例:

使用單例模式的好處是:

1.在記憶體中只有乙個物件,節省空間

2.避免頻繁地建立銷毀物件,可以提高效能

3.避免對共享資源的多重占用

4.可以全域性訪問

設計模式 21 單例模式

宣告 vs2012中已經支援c 11了,因此下面的程式在vs2012中可以執行。如果版本比2012低,可能因為不支援 std mutex,std shared ptr而失敗。ifndef singleton h define singleton h include include using nam...

21種設計模式整理(1) 單例

以前的程式設計是面向過程的程式設計,資料結構跟演算法是組成他們的基本元素。所以我一直認為資料結構與演算法的學習,有利於我實現底層功能,這是程式設計的內功。但現在都是物件導向的程式設計,需求已經轉變為易於維護,易於擴充套件,易於理解,冗餘降低,降低耦合。我認為i這些的問題的本質就是程式設計過程中如何設...

iOS 21種設計模式之單例(Singleton)

感謝 pro objective c design pattern for ios 一書,這個部落格系列由很多靈感源自次書。同時,也感謝wiki以及一些部落格博主。每篇文章最後,都會列出參考鏈結。設計模式是為了解決一類問題而出現的,要深刻理解某個模式的應用場景,優點,缺點。千萬不要為了使用而實用,那...