單例模式
使用場合:適合乙個類中只有乙個例項的情況。比如任務管理器。
單例模式的必要要素: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以及一些部落格博主。每篇文章最後,都會列出參考鏈結。設計模式是為了解決一類問題而出現的,要深刻理解某個模式的應用場景,優點,缺點。千萬不要為了使用而實用,那...