Singleton(單例模式)
資料來源:
目的
保證一個類別僅有一個實例,並提供一個存取他的全域存取點。
除了第一次的新增外,之後皆使用第一次產生的對象。
透過閉包隔離實體避免被直接操作。
需要時才建立,所以不會像全域變數一開始設定即佔一個資源。(但每次都需要判斷)
舉例
例如瀏覽器的Window,只需要一個這樣的物件
一個網頁,需要被重複共用的東西
Loading Page
警告視窗
Code
ES5
ES6
ES6(In Node.js)
優點
劃分命名空間,減少全局變量
增強模組性,放在全域變量下,便於維護
只會實例化一次
缺點
由於是提供一種單點的訪問,所以可能導致模組間的強耦合,而不利於單元測試。
場景
VueX、登陸框
Last updated
Was this helpful?