23種設計模式 單例模式

2021-10-19 12:28:02 字數 884 閱讀 2369

專案中經常會遇到好多個類呼叫乙個類例項的情況,每次呼叫這個類都要例項化一下也就是new一下,這樣就會把原始類裡面的資料清空,得不償失,所以產生了單例模式的這種程式設計設計模式。

單例模式被設計出來就是為了確保乙個程式中只有乙個例項,並提供乙個全集訪問點,節省系統資源。

首先新建乙個單例類,把這個單例類的建構函式設定成private,讓這個類無法在外部被例項化。

無法從外部例項化,就要從內部例項化,然後在這個單例類裡提供乙個方法來和外部對接這個例項化的類。也就是說提供乙個獲取這個例項化的介面函式。

class

class_single

static

class_single g_cs =

null

;static

object g_locker =

newobject()

;public

static

class_single

getinstance()

}return g_cs;

}}

單例類已經封裝完成了,讓我們來在這個類裡面寫乙個方法來看看單例是怎麼應用
int num =

0; public

intaddnum()

然後新建三個類,分別在這三個類中寫入一下方法來應用
public

string

addnumstring()

最後再用三個按鈕呼叫這三個類,實現以下內容。

每按一次按鈕數字都會累加,並且不管哪個按鈕都行。

23種設計模式 單例模式

某些情況,如 執行緒池,乙個專案中匯流排程數量以及生命週期,可能需要統一控制 如果執行緒池自身可建立多個例項,那麼就無法統一控制,此時,只要能控制線程池物件的數量為乙個,那麼就可以實現統一控制的目標 注意 現實中真正使用純的單例模式並不多 如 spring bean 通過配置來決定是否使用單例 執行...

單例模式(23種設計模式)

單例模式 餓漢模式 class singletondemo public static singletondemo gets 懶漢模式 class singletondemo1 public static singletondemo1 gets return instance 單例模式,懶漢式,執行...

23種設計模式 單例模式

單例模式需要保證,構造方法一定是私有化的,並且類的全域性變數必須是靜態的,私有的 這樣才能有唯一的例項化途徑 錯誤 一 public class singleton public static singleton getinstance 上述方法,並沒有把類變數singleton設定為靜態的,這樣,...