单体模式的思想是在于保证一个特定的类仅有一个实例。也就是只要该构造函数创建过一次实例以后,再通过该构造函数重复创建实例时,得到的都是最初第一次创建的实例。
基于这样的思想可以想到的实现逻辑:
1.缓存第一次创建的实例;
2.并且缓存的实例不能发现变化。
基于这样的实现逻辑,缓存不能发生变化的解决思路肯定就是私有化,关于私有化在对象创建模式中有介绍,详细可以参考:JavaScript对象创建模式与继承
示例:
let Universe = (function(){ let instance; return function(){ if(instance){ return instance; } instance = this; //构造实例的具体功能 } }());