2022年1月23日 星期日

[Geroge]設計模式-單例模式(上)

 關鍵點:

    1某個類只能有一個實例

    2他必須自行創建這個實例

    (底米特法則, 單一職責原則: 他自己有這個職責創建, 他創建之後, 其他的類都不需要知道他

    創建的過程, 他的創建被封裝在他的內部, 內聚性更高, 對外的耦合性也越低)

    3他必須自行向整個系統提供這個實例

解決的問題:

    提供全局需要使用的, 唯一的數據訪問 (一般軟體的全局配置, 會需要用到單例模式)









分類:

    依創建的時機分類:

    餓漢式(hungry) 在類加載時候創建

    懶漢式(lazy) 在使用時做判斷, 如果需要再創建

例子:






餓漢式的好處, 就是系統創建這個類的時候, 他就會被創建了, 需要使用, 只要用getInstance就可以了







懶漢式, 特點是初始值為空, 當我們需要getInstance的時候再去判斷是否為空, 再創建

它的好處, 就是在使用的時候才去創建, 相對來說再沒有使用的時候是有節約內存, JVM load class會快一點

https://www.youtube.com/watch?v=w-BlQ5tsZfU&list=PLGmd9-PCMLhb16ZxeSy00qUsBazXgJyfM&index=10

https://github.com/iw5420/geroge-design-pattern

沒有留言:

張貼留言

量身訂做建議(37 歲,6 年 Java 後端工程師)from chatgpt

🎯 量身訂做建議(37 歲,6 年 Java 後端工程師) 1️⃣ 先看你的條件 年齡 37 屬於「中高年資」工程師,履歷上的 深度 / 系統設計能力 會比「語言多寡」更重要。 6 年 Java 後端 代表你在 Spring Boot、資料庫、API 設計...