JavaScript设计模式:单体模式

单体模式的思想是在于保证一个特定的类仅有一个实例。也就是只要该构造函数创建过一次实例以后,再通过该构造函数重复创建实例时,得到的都是最初第一次创建的实例。

基于这样的思想可以想到的实现逻辑:

1.缓存第一次创建的实例;

2.并且缓存的实例不能发现变化。

基于这样的实现逻辑,缓存不能发生变化的解决思路肯定就是私有化,关于私有化在对象创建模式中有介绍,详细可以参考:JavaScript对象创建模式与继承

示例:

let Universe = (function(){
    let instance;
    return function(){
        if(instance){
            return instance;
        }
        instance = this;
        //构造实例的具体功能
    }
}());