TS建立型設計模式之單例模式

2021-09-09 05:50:17 字數 832 閱讀 3235

ensure a class has only one instance,and provide a global point of access to it.

(確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項)

//懶漢式單例又稱惰性單例,前端不考慮,如果是後端可能會考慮高併發的情況下出現多個例項

class lazysingle

//獲得例項物件

public static getinstance():lazysingle

return this._instance; }}

//餓漢式單例

class hungrysingle

//獲得例項物件

public static getinstance():hungrysingle

}

減少記憶體開支

減少效能開支,如配置需要頻繁讀取的資訊

避免對資源的多重占用,造成不必要的麻煩

優化和共享資源訪問,比如元件狀態管理,我會建立乙個單例來存狀態資訊(比如說左側list選中那個),讓子元件間通訊變簡單。

乙個類出現多個物件會有「不良反應」的時候:

需要生成唯一序列號的環境

在整個專案中需要乙個共享訪問點或共享資料,之前我寫後端**的時候,做乙個大轉盤,沒使用單例模式,當只剩下幾個獎品時,有很多人在**抽出來的獎品遠大於庫存,是很尷尬,這裡的庫存就是乙個共享資料。

建立乙個資源需要消耗的資源過多,比如使用者資訊,不可能每次都去取吧

需要定義大量靜態變數和靜態方法(如工具類),js中單例模式經常作為命名空間來使用

設計模式之單例模式(建立型)

單例模式的核心,就是全域性只有乙個例項。下面就每一種建立方式分析其優缺點。1.餓漢式 餓漢式 public class personhungry public static personhungry getinstance 2.靜態 塊public class person private pers...

設計模式 建立型 單例模式

單例模式在整個軟體開發中還是比較常用的,頻繁使用且過程穩定的方法 全域性變數都可以使用該模式,也可以叫做公共類。單例模式需要遵循要麼出現一次,要麼不出現的規則。單例模式不提供外部例項化功能,在內部自已例項化以保證其唯一例項。具體如下 class common public static common...

設計模式 建立型 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式劃分 class singleton 獲取本類例項的唯一全域性訪問點 public static singleton getinstance return instance 物件屬於引用資料型別,和基本資料...