💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 单例模式 > 单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。实现的方法为先判断实例存在与否,如果存在则直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。 > #### 实现 ~~~ class CreateUser { constructor(name) { this.name = name; this.getName(); } getName() { return this.name; } } // 代理实现单例模式 var ProxyMode = (function() { var instance = null; return function(name) { if(!instance) { instance = new CreateUser(name); } return instance; } })(); // 测试单体模式的实例 var a = new ProxyMode("aaa"); var b = new ProxyMode("bbb"); // 因为单体模式是只实例化一次,所以下面的实例是相等的 console.log(a === b); //true ~~~ ~~~ const singletonify = (OriginalClass) => { const single = new OriginalClass(); return new Proxy(OriginalClass, { construct: (target, args) => single }) } ~~~