หน้าเว็บ

วันพุธที่ 10 เมษายน พ.ศ. 2556

Singleton pattern javascript

        Singleton pattern คือ pattern การเขียน class ที่มี instance เดียว  ไม่สามารถ new instance ขึ้นมาใหม่ได้  เอาไว้ใช้ในกรณีที่เราต้องการทำอะไรซักอย่างที่มันมี instance เดียว  มี reference ถึงตัวเดียว  เช่น  class ที่เอาไว้เก็บค่า config ต่างๆ ไว้ครับ

var Context = (function() {

    var _instance;

    var _init = function() {
        var map_ = {};

        this.getAttribute = function(key) {
            return map_[key];
        };

        this.setAttribute = function(key, value) {
            map_[key] = value;

            return this;
        };

        this.removeAttribute = function(key) {
            delete map_[key];

            return this;
        };

        this.attributeSize = function() {
            return map_.length;
        };
    };

    return{
        getInstance: function() {

            if (!_instance) {
                _instance = new _init();
            }

            return _instance;
        }
    };
})();


/**
 * example to use
 *
 * var context = Context.getInstance();
 * if (!context.getAttribute('class')) {
 *       context.setAttribute('class', {});
 * }
 */

ไม่มีความคิดเห็น:

แสดงความคิดเห็น