javascript设计模式二:什么是单体模式?

头像
DW吴良
2017-03-26 23:33:18

a1feb39c500a25d4710a6445574eec08002.png

什么是单体模式?单体模式是一个用来划分命名空间并将一批属性和方法组织在一起的对象,如果它可以被实例化,那么它只能被实例化一次。


但是并非所有的对象字面量都是单体,比如说模拟数组或容纳数据的话,那么它就不是单体,但是如果是组织一批相关的属性和方法在一起的话,那么它有可能是单体模式,所以这需要看开发者编写代码的意图;


下面我们来看看定义一个对象字面量(结构类似于单体模式)的基本结构如下: 


// 单体模式

var Singleton = function(name){

    this.name = name;

    this.instance = null;

};

Singleton.prototype.getName = function(){

    return this.name;

}

// 获取实例对象

function getInstance(name) {

    if(!this.instance) {

        this.instance = new Singleton(name);

    }

    return this.instance;

}

// 测试单体模式的实例

var a = getInstance("aa");

var b = getInstance("bb");

B_07.gif

PS:我是邢帅WEB-吴良,有任何javascript学习问题,可以找我哦!~

全部回复
正序查看
空数据
暂无评论