單例模式(singleton)
定義
單例模式(singleton),保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。
類圖
描述
類singleton的建構函式的修飾符為private,防止使用者使用new建立此類的例項;
定義乙個靜態的getinstance方法,負責建立唯一的例項,並允許使用者訪問它的唯一例項。
應用場景
懶漢模式:
第一次呼叫的時候才產生乙個新的例項,並在以後返回此例項。
非執行緒安全的單例模式
public執行緒安全的單例模式,需加執行緒鎖sealed
class
singleton
public
static
singleton getinstance()
return
instance;}}
public執行緒安全的單例模式,雙重鎖定sealed
class
singleton
public
static
singleton getinstance()
}return
instance;}}
public餓漢模式:sealed
class
singleton
public
static
singleton getinstance()}}
return
instance;}}
在程式開始的時候就會產生乙個新的例項,並在以後返回此例項。
執行緒安全的單例模式,
靜態初始化
publicsealed
class
singleton
public
static
singleton getinstance()
}
設計模式筆記之 單例模式
那麼單例的建立方式有4中 其實是5種,只不過有一種因為不推薦使用,就不學習了 這種寫法分類來自尚學堂的老師。這個寫法是類在初始化就已經完成單例的建立的,不可以延遲操作 package singlepattern 這是類初始化就馬上載入,惡漢 author cloudhuan public class...
設計模式筆記之 單例設計模式
首發 單例模式確保乙個類只有乙個例項,並提供乙個全域性訪問點。實現乙個單例模式很簡單,但我沒有想過單例模式有什麼用處,直到一次筆試就遇到了問單利模式的應用場景有哪些。單例模式的應用場景 執行緒池 thread pool 快取 cache 對話方塊 處理偏好設定 登錄檔 registry 物件,日誌物...
C 設計模式之單例模式筆記
c 的單例模式主要現在在日誌模組 單例模式.cpp 定義控制台應用程式的入口點。include stdafx.h 保證乙個類僅有乙個例項,並提供乙個訪問他的全域性訪問點 include include include using namespace std class singelton stati...