設計模式簡談 單例模式

2021-10-22 20:36:27 字數 757 閱讀 2852

確保乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。既然只能有乙個例項:

單例模式的主要作用是確保乙個類只能有乙個例項存在,那麼這個模式可以用在隨機數生成器,計數器,管理器等等工具類。或者如果某個類建立乙個新物件會消耗很多資源的話,我們也可以使用單例模式來減少資源的消耗。

這裡我們使用c++作為程式語言,實現乙個單例模式類。

// 單例模式經典設計樣式

class

singleton

// 假如我們有乙個函式能實現對資料的一些操作

intfunction()

private

:// 防止構造新的例項

singleton()

// 將建構函式宣告為private與定義為刪除的能實現一樣的效果

// 這就是你想要全程式可訪問的那個資料

int m_member;

// singleton類唯一例項的宣告

static singleton s_instance;};

// 由於是靜態成員,所以需要在類外定義並初始化

singleton singleton::s_instance;

intmain()

這個單例類的唯一例項,會在類載入的時候立即進行例項化,這叫做餓漢式。也可以使用懶漢式,也就是在第一次使用的時候進行例項化。

設計模式簡析(單例模式)

什麼是設計模式 設計模式是指設計某個程式的方式。今天我們簡析一下單例模式 單例模式 乙個類只能最多建立出乙個物件 實現單例必須滿足以下條件 1.不讓轉殖 私有化轉殖魔術方法 2。不讓建立物件 私有化構造方法 不能在類外部使用new關鍵字建立物件。3。進入類的內部建立物件 使用靜態方法 4.在類中使用...

設計模式之單例模式簡析筆記

好久沒這樣寫寫東西了,最近也真的是很忙,白天上班,晚上帶娃,還要學習。其實靜下心來好好的學習才發現自己要學習的太多了,技術更新換代的也很頻繁。每天堅持一點點學習,讓自己更充實,技術慢慢得到提公升。接下來的每一天都要學習,自己一定也能堅持。記錄下點滴。說的有點倉促,後面會更好 附上自己學習的一些筆記,...

初夏小談 設計模式之單例模式

所謂設計模式就是一種被反覆使用,被頻繁使用的 經驗的總結。設計模式的出現使得 更容易被理解,保證了 的可靠性。它讓 變得工程化。就如打仗用的兵書一樣 孫子兵法 單例模式就是乙個類只能建立乙個物件。這種模式可以確保乙個類只有乙個物件,不能再建立其它物件。並且會提供乙個可以訪問它的全域性訪問點。只要有程...