国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

JavaScript 設(shè)計(jì)模式

2021-09-15 16:19 更新

"設(shè)計(jì)模式"(Design Pattern)是針對(duì)編程中經(jīng)常出現(xiàn)的、具有共性的問題,所提出的解決方法。著名的《設(shè)計(jì)模式》一書一共提出了23種模式。

Singleton

Singleton模式指的是一個(gè)“類”只能創(chuàng)造一個(gè)實(shí)例。由于JavaScript語言沒有類,單個(gè)對(duì)象可以直接生成,所以實(shí)際上,沒有必要部署Singleton模式。但是,還是可以做到的。

var someClass = {

    _singleton: null,

    getSingleton: function() {

        if (!this._singleton) {
                this._singleton = {
                    // some code here
                }
            }

            return this._singleton;
        }
};

var instance = someClass.getSingleton();

生成實(shí)例的時(shí)候,調(diào)用getSingleton方法。該方法首先檢查_singleton屬性是否有值,如果有值就返回這個(gè)屬性,如果為空則生成新的實(shí)例,并賦值給_singleton屬性,然后返回這個(gè)實(shí)例。這樣就保證了生成的實(shí)例都是同一個(gè)對(duì)象。

為了保證實(shí)例不被改寫,可以關(guān)閉它的寫入開關(guān)。

Object.defineProperty(namespace, "singleton",
        { writable: false, configurable: false, value: { ... } });

也可以考慮使用Object.preventExtensions()、Object.seal()、Object.freeze()等方法,限制對(duì)實(shí)例進(jìn)行寫操作。

參考鏈接

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)