其他service 單例 工具類 單例模式總結

2021-10-14 04:51:24 字數 1009 閱讀 3512

單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。

1.單例模式的特點:

1.單例類只能有乙個例項。

2.單例類必須自己建立自己的唯一的例項。

3.單例類必須給所有其他物件提供這一例項。

2.餓漢式單例類

public class eagersingleton ;    /**     * 靜態工廠方法     * @return     */    public static eagersingleton getinstance()}
3.懶漢式單例類

public class lazysingleton ;    /**     * 靜態工廠方法,返還此類的唯一例項     * @return     */    synchronized public static lazysingleton getinstance()        return m_instance;    }}
注意:

1.與餓漢式單例類不同的是:餓漢式單例類第一次被引用時將自己例項化。

2.在上面給出懶漢式單例類實現裡對靜態工廠方法使用了同步化,以處理多執行緒環境。

使用單例模式有乙個必要條件:在乙個系統要求乙個類只有乙個例項時才應當使用單例模式。

1.有狀態的單例類

乙個單例類可以是有狀態的,乙個有狀態的單例物件一般也是可變單例物件。

有狀態的可變單例物件常常當做狀態使用。比如乙個單例物件可以持有乙個int型別的屬性,用來給乙個系統提供乙個數值唯一的序列號碼,作為某個販賣系統的賬單號碼。

2.沒有狀態的單例類

單例類也可以是沒有狀態的,僅用作提供工具性函式的物件。

單例模式 基類單例。。用於其他單例的派生

首先是繼承方式,為了進行單例的派生,需要將基類的建構函式以及拷貝賦值函式設定為protected成員 template class singleton singleton const singleton singleton operator const singleton public static...

單例設計模式與工具類

設計模式 一套被反覆使用 多數人知曉的 經過分類的 設計經驗的總結。之前很多程式設計師經常無數次的嘗試,總結出來一套最佳實踐。單例設計 定義 乙個類只有乙個物件例項。單例設計的優點 1 控制資源的使用。2 控制例項的產生,達到節省資源的目的。3 作為通訊媒介,資源共享。單例設計的特點 1 單例類只能...

單例類問題

有人在 iteye 上提出了單例類的問題,下面是乙個精彩的回答。寫乙個單例應該需要考慮乙個重要問題,物件是怎麼建立的 1 通過建構函式建立 2 通過反射建立 3 通過反序列化建立 4 通過 clone 建立提供的解決方案如下 1 禁止外部呼叫建構函式 設定private 2 禁止反射設定建構函式建立...