單例模式(Singleton Pattern):javascript
定義:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 目的:阻止其餘對象實例化其本身的單例對象的副本,從而確保全部對象都訪問惟一實例。 場景:如一個系統中能夠存在多個打印任務,可是同時只能有一個正在工做的任務。
例:JS代碼實現java
// 惰性單例 let lazySingle = (() => { let _instance = null // 單例 Single = () => { let privateAttribute = '我是私有屬性' privateMethod = () => { // 私有方法 } return { publicMethod: () => { // 對外暴露方法 }, publicAttribute: '我是對外暴露屬性' } } // 提供一個全局訪問點 return () => { if (!_instance) { _instance = Single() } return _instance } })()