設計模式之單例模式

2021-05-23 10:59:37 字數 704 閱讀 6325

前一段時間買了一本秦小波寫的《設計模式之禪》,網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。

自己對於設計模式的感覺就是乙個字:牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西。

書上對於單例模式講得循序漸進,而且還舉了很生動形象的例子。我對單例模式的理解就是:只產生乙個或者有限個物件供整個系統呼叫。這樣無疑會大大節省記憶體資源。書上有乙個對它的定義:ensure a class has only one instance, and provide a global point of access to it.翻譯過來就是:確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個例項。

單例模式的通用**是:

有關單例模式的實現該方法其實有兩種,就是我前些天寫的那篇「餓漢式與懶漢式」日誌所講的兩種。一般情況下就用本文中提到的這一種,不會產生執行緒同步。

上面只是乙個簡單的單例模式,通過開發中,可以把連線資料庫的db類寫成單例模式,這樣子可以減少記憶體開銷,而且又非常簡單地解決了執行緒同步的問題。

關於單例模式的擴充套件,主要是從生成例項的數量上來說的。比如可能為了緩解單例模式效能上的問題,限制只生成兩個或者幾個例項,呼叫的時候隨機或者依次呼叫生成的例項。這樣既控制了記憶體開銷,又一定程度上提公升了程式的效能。

設計模式之單例模式

package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...

設計模式之 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...

設計模式之單例模式

定義 單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。場景 很多exe檔案都只允許執行一次,即當你第乙個exe開啟未關閉之前,再第二次開啟,會提示說 已經有乙個exe程式在執行了 如果將這個exe檔案看成乙個類,則它就是乙個單例。下面的 沒有考慮多執行緒下的鎖定...