設計模式之筆記 單例模式(Singleton)

2022-07-24 03:24:14 字數 1177 閱讀 1764

單例模式(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;}}

餓漢模式:

在程式開始的時候就會產生乙個新的例項,並在以後返回此例項。

執行緒安全的單例模式,

靜態初始化

public

sealed

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...