(八)單例模式

2021-09-28 14:58:14 字數 632 閱讀 5762

一、概念

乙個類在程式中僅有單個物件存在,不會存在多個這個類的物件。保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。

主要解決乙個全域性使用的類頻繁地建立與銷毀。需要自己建立自己的例項並提供給其他類使用,建構函式寫為私有。

二、例子

單例模式中儲存了唯一的自己這個類的靜態例項,並將建構函式設為私有,對外提供了靜態的getinstance函式。

public class singleobject 

//獲取唯一可用的物件

public static singleobject getinstance()

public void showmessage()

}//測試部分

public class singletonpatterndemo

}

三、總結

單例模式有幾種實現方式,在下一節再瞅。之前對單例模式的理解是重寫new和delete,new時返回唯一的靜態例項,delete時也不刪除唯一的靜態例項。但看來不是這樣的,接下來開始對《head first》設計模式這本書進行研究。

八種單例模式總結

先吐槽一下,這是誰起的名字,別說,還挺難聽。餓漢式1 2 靜態常量和靜態 塊 優點 這種寫法比較簡單,就是在類裝載的時候就完成例項化,避免了執行緒同步問題。缺點 在類裝載的時候就完成例項化,如果未使用過這個例項,會造成記憶體的浪費。public class singleton public stat...

八種單例設計模式

1.靜態常量 2.靜態 塊 1.執行緒安全 2.執行緒不安全 同步方法 3.執行緒不安全 同步 塊 單例設計模式就是在整個系統中或者程式中只有乙個該物件的應用例項。例如 public class single public static single getinstance 2 靜態 塊 步驟 1....

單例模式 單例模式

餓漢式 急切例項化 public class eagersingleton 2.宣告靜態成員變數並賦初始值 類初始化的時候靜態變數就被載入,因此叫做餓漢式 public static eagersingleton eagersingleton new eagersingleton 3.對外暴露公共的...