JavaScript設計模式之單例模式

2021-09-13 20:36:03 字數 830 閱讀 5291

js中的單例模式一般為:**模組例項化後僅返回乙個唯一的物件。在es6有了類的概念之後,更加接近通常所說的單例:乙個類例項化後僅可以返回唯一的乙個例項。

應用場景:頁面中的某個元件僅渲染一次。

下面用**實現乙個最簡單的單例(惰性單例)

es5實現方式

var singleton = (function () 

}return

return instance}}

})()

var person1 = singleton.getinstance('zyp', 18)

var person2 = singleton.getinstance('zyp1', 18)

console.log('person2', person2) //依然是

console.log(person1 === person2) //true

es6實現方式

class singleton 

static getinstance(name, age)

return this.instance;

}} let person1 = singleton.getinstance('zyp', 18)

let person2 = singleton.getinstance('zyp1', 18)

console.log('person2', person2) //依然是乙個name值為'zyp', age值為18的singleton物件

console.log(person1 === person2) //true

JavaScript設計模式之工廠模式

工廠模式是用來建立物件的一種最常用的設計模式。把建立物件的具體邏輯封裝在乙個函式中,那麼這個函式就可以被視為乙個工廠。工廠模式根據抽象程度的不同可以分為 簡單工廠,工廠方法和抽象工廠。簡單工廠模式又叫靜態工廠模式,由乙個工廠物件決定建立某一種產品物件類的例項。主要用來建立同一類物件的不同例項。fun...

JavaScript 設計模式之工廠模式

工廠模式的定義 工廠模式定義乙個用於建立物件的介面,這個介面由子類決定例項化哪乙個類。該模式使乙個類的例項化延遲到了子類。而子類可以重寫介面方法以便建立的時候指定自己的物件型別。工廠模式的使用場景 以下幾種情景下工廠模式特別有用 1 物件的構建十分複雜 2 需要依賴具體環境建立不同例項 3 處理大量...

JavaScript 設計模式之工廠模式

一 模式概念解讀 1.工廠模式概念文字解讀 工廠模式定義乙個用於建立物件的介面,這個介面由子類決定例項化哪乙個類。該模式使乙個類的例項化延遲到了子類。而子類可以重寫介面方法以便建立的時候指定自己的物件型別 抽象工廠 這個模式十分有用,尤其是建立物件的流程賦值的時候,比如依賴於很多設定檔案等。並且,會...