單例模式是所有模式中我們平常用的最多而且比較好理解的乙個模式。
保證乙個類緊乙個例項,並提供乙個訪問它的全域性訪問點。
在一些情況下,我們可能需要某個類只能建立出乙個物件,既不讓使用者用該類例項化出多餘兩個的例項。
單例類(singleton):單例類只可以建立出乙個例項。
只有乙個參與者,可以看出它是乙個很簡單的設計模式。
單例模式有一套比較常規的模式模板:
public
class moon
public
static synchronized moon getmoon()
return uniquemoon;
}
以月亮為例子,定義乙個私有的靜態物件,保證唯一性,將構造方法宣告為私有的,定義乙個公有的方法來返回乙個物件。
我們一般可以按照這個模板來產生自己的單例類。
單件類的唯一例項有單件類本身控制,所以可以很好地控制使用者何時訪問它。
建立型 單例模式
定義 作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱之為單例類。特點 單例類只能有乙個例項 單例類必須自己建立自己的唯一例項 單例類必須給所有的其他物件提供這一例項。餓漢模式 單例模式singleton 應用場合 有些物件只需要乙個就足夠了,如...
Singleton 單例模式(建立型)
單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。在計算機系統中,執行緒池 快取 日誌物件 對話方塊 印表機 顯示卡的驅動程式物件常被設計成單例。這些應用都或多或少具有資源管理器的功能。每台計算機可以有若干通訊埠,系統應當集中管理這些通訊埠,以避免乙個通訊埠同時被兩個請求同時呼...
關於單例模式 建立型
單例模式用來確保每乙個類都有乙個例項,並且自行實體化並且向整個系統提供這個例項,單例模式常常用於避免產生多個物件消耗過多的資源,或者某種型別的資源應該有並且只有乙個,例如訪問資料庫和訪問io的時候就要考慮單例模式。比較經典的單例模式有懶漢式和惡漢式兩種,下面給出這兩種不同方式的uml圖 1.惡漢式 ...