JavaScript設計模式樣例四 —— 單例模式

單例模式(Singleton Pattern):javascript

定義:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。
目的:阻止其餘對象實例化其本身的單例對象的副本,從而確保全部對象都訪問惟一實例。
場景:如一個系統中能夠存在多個打印任務,可是同時只能有一個正在工做的任務。

例:JS代碼實現java

// 惰性單例
let lazySingle = (() => {
    let _instance = null
    // 單例
    Single = () => {
        let privateAttribute = '我是私有屬性'
        privateMethod = () => {
            // 私有方法
        }
        return {
            publicMethod: () => {
                // 對外暴露方法
            },
            publicAttribute: '我是對外暴露屬性'
        }
    }
    // 提供一個全局訪問點
    return () => {
        if (!_instance) {
            _instance = Single()
        }
        return _instance
    }
})()

Git地址:https://github.com/skillnull/Design-Mode-Examplegit

相關文章
相關標籤/搜索