設計模式 02 單例模式

2022-03-10 20:17:08 字數 448 閱讀 9393

【描述】:singleton

模式要求乙個類有且僅有乙個例項,並且提供了乙個全域性的訪問點

【方式1】

sealed

class

singleton

}

這種方式不能實現延遲初始化(呼叫時才進行初始化),它在編譯時就初始化出了乙個例項,sealed保證類不能被繼承。

【方式二】

sealed

class

singleton

//////

在建立第乙個類例項或任何靜態成員被引用時,.net將自動呼叫靜態建構函式來初始化類,

///最多隻執行一次

/// static

singleton()

}

這種方式通過靜態建構函式實現了延遲初始化。

設計模式 02 單例模式

1 餓漢模式 宣告靜態物件時,已經初始化。public class singleton public static singleton getinstance 2 懶漢模式 第一次呼叫getinstance時進行初始化。缺點 每次呼叫getinstance都進行同步,造成不必要的同步開銷。publi...

設計模式 02 單例模式

參考 需要某個類只保留乙個物件,如資料庫連線 網路連線 執行緒池等。只能有乙個例項 單例類必須建立自己的唯一例項 單列類向其他物件提供這一例項 單例可以繼承與被繼承,方法可以重寫。靜態類不行 單例產生的物件常駐記憶體。靜態類物件執行後會被釋放,被gc清理 單例模式可以延遲載入,靜態類在第一次執行時被...

設計模式 02 單例模式

餓漢式 靜態 塊 懶漢式 執行緒不安全 懶漢式 執行緒安全,同步方法 懶漢式 執行緒不安全,同步 塊 雙重檢查 推薦 靜態內部類 推薦 列舉注意事項和細節說明 所謂的單例設計模式,就是採取一定的方法,保證在整個的軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項的方法 靜態方...