設計模式 單例設計模式

2021-08-11 09:31:44 字數 733 閱讀 1361

設計模式是對問題行之有效的解決方案,它其實是一種思想。

單例設計模式:

解決的問題:可以保證乙個類在記憶體中只能有乙個物件。(比如多個程式使用相同的配置資訊物件時,就需要保證物件的唯一性)

如何保證唯一性:1、不允許其他程式用new建立類物件

2、在該類中建立乙個本類例項

3、對外提供乙個方法讓其他程式可以獲取該物件

達成唯一性的步驟:

1、私有化該類建構函式(private)

2、通過new在本類中建立乙個本類物件

3、定義乙個公有的方法,將建立的物件返回

class single

public static single getinstance()

}//呼叫物件的方式採用類名呼叫,類名呼叫的前提是呼叫靜態方法,靜態訪問的內容必須是靜態故static single用靜態修飾

class singledemo

//輸出結果為true也就說明物件唯一

這種方式在類一 載入就會產生物件。也稱作惡漢式單例模式。

對應的懶漢式如下:

懶漢式即類載入進來時,沒有物件,只有呼叫geyinstance方式時,才會建立物件。(延遲載入形式)

class single2

public static single2 getinstance()

}真實開發時餓漢式使用較多,因為懶漢式在用的時候如果碰見多執行緒問題有可能出現 物件的唯一性問題存在安全隱患。(面試時餓漢式碰見的多)

設計模式 單例設計模式

歷史 最早是建築學領域的模式,然後gof四人由其引申到編碼方面,總結了23種設計模式 設計模式 解決某一類事情最行之有效的方法 2.1 體現 餓漢式,保證物件的唯一性 class singleton 私有化建構函式禁止該類建立物件 private static singleton st new si...

設計模式 單例設計模式

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。即乙個類只有乙個物件例項 單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。單例設計模式 解決的問題 可以保...

設計模式 單例設計模式

單例模式是一種物件建立型模式,使用單例模式,可以保證為乙個類只生成唯一的例項物件。也就是說,在整個程式空間中,該類只存在乙個例項物件。gof對單例模式的定義是 保證乙個類 只有乙個例項存在,同時提供能對該例項加以訪問的全域性訪問方法。單例模式,又稱單件模式。定義 確保某乙個類只有乙個例項,而且自行例...