JS设计模式初探之单例模式

303 阅读1分钟

/*
* @Author: vayne
* @Date:   2018-11-08 11:07:34
* @Last Modified by:   vayne
* @Last Modified time: 2018-11-08 21:58:52
*/
const singleton = (function(){
    let instance;
    function init(){
        return {
            name: 'vayne',
            age: 25,
        };
    }
    console.log(instance)
    return {
        getInstance: function(){
            if(!instance){
                instance =  init();
            }
            return instance;
        }
    }
})()
const instanceA = singleton.getInstance();
const instanceB = singleton.getInstance();
console.log(instanceA) 
console.log(instanceB) 
console.log(singleton.getInstance())



示例代码通过调用singletonn.getInstance 方法创建一个新实例,如果实例存在,那么这个方法之返回这个实例,如果没有就调用init()方法来创建一个新示例。

这就是最简单的设计模式,单例模式