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

沒有留言:

張貼留言

創業想法1

現在有駐點工作的公司 今天突然想到 那為什麼沒有遠端駐點公司 就是接國外的職位 幫他找台灣人 在公司上遠端工作的職缺 有可能是因為時差 所以這種公司上班時間不同, 並不好管理 但是感覺理論上是存在需求 就是台灣人想找遠端職缺, 但是可能語言上或技能上還差點火候 公司提供培訓, 並...