閉關修煉(十)單例設計

2021-10-14 09:31:16 字數 1159 閱讀 6815

單例、工廠、**這些簡單的設計模式都應該掌握(手寫)

單例設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。

重複利用,提高維護性,易於擴充套件、提高閱讀性、減少**

分為三大類,常問的有:

建立型 :工廠、單例等

結構型 : **、介面卡等

行為型 : 策略模式等

單例99%必問

開閉原則 : 對於擴充套件是開放的,但是對於修改是封閉的。增加擴充套件性、易於修改

黎克特制替換原則 : 物件導向(多型)

依賴倒轉 : 面向介面程式設計

介面隔離原則 : 介面分離,介面之間控制耦合度

迪公尺特法則 : 最少知道原則,就是說乙個物件應當對其它物件有盡可能少的了解

合成復用原則 : **復用

保證jvm中只有乙個例項,分為懶漢式和餓漢式

懶漢式 – 執行緒不安全,需要時候才會建立

餓漢式 – 天生執行緒安全,jvm class 載入的時候就初始化

重要知識點:懶漢式雙重檢驗鎖和餓漢式寫法

只有需要時候才會建立,

寫法:同步**塊+雙重檢驗

/**

* 單例 懶漢式

* 需要的時候才會建立物件

* * @author uuz

* @date 2021/01/10

*/class

singlelazy

/** * 獲取單例

** @return

*/@suppresswarnings

("all"

)public

static singlelazy getsingleton()

}}return singleton;

}}

天生執行緒安全,jvm class 載入的時候就初始化

/**

* 單一 餓漢式

* * @author uuz

* @date 2021/01/10

*/class

singlehunger

/** * 獲取單例

** @return

*/public

static singlehunger getsingleton()

}

軟體設計模式修煉 單例模式

通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於被外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決辦法。對系統中某些類來說,只有乙個例項很重要,例如,乙個系統只能有乙個視窗管理器或檔案系統。因此確保系統中某個物件的唯一性即乙個...

單例設計模式(餓漢單例設計模式 懶漢單例設計模式)

1.什麼是單例 單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。2.為什麼要用單例 開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件 物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。3.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...

單例設計模式

設計模式 對問題行之有效的解決方式。其實它是一種思想。1,單例設計模式。解決的問題 就是可以保證乙個類在記憶體中的物件唯一性。必須對於多個程式使用同乙個配置資訊物件時,就需要保證該物件的唯一性。如何保證物件唯一性呢?1,不允許其他程式用new建立該類物件。2,在該類建立乙個本類例項。3,對外提供乙個...