Tag: singleton

抛出错误,如果导出的模块函数被调用两次

我有一个导出函数的Node.js模块: module.exports = function(data){ return { // return some object } }; 我正在寻找在这里使用单身模式,但没有多less额外的大惊小怪。 这是一个库,可能我的库代码可能不止一次地调用这个函数,但是我需要依赖用户来定义代码,所以我不能保证他们会实现一个合适的单例模式。 如果导出的函数被多次调用,是否有一个好的模式可以用来引发错误? 我在想这样的事情: const fn = require('./user-defined-module'); const someObject = fn(); // next I want to somehow mark this module as having been loaded 为了明确,以下是不好的: var loaded = null; module.exports = function(data){ if(loaded) { return loaded; } // do some stuff return […]

如何创buildcoffeescript单例子类

我创build了一个我想要扩展的单例类。 它(一半)的工作原理是它只创build一个类的单个实例,但添加到子类的属性是未定义的。 这是原来的单身人士: class Singleton _instance = undefined @getInstance: -> if _instance is undefined console.log 'no instance exists, so create one' _instance = new _Singleton() else console.log 'an instance already exists.' class _Singleton constructor: -> console.log 'new singelton' module.exports = Singleton 这里是子类: Singleton = require('./singleton') class Stinky extends Singleton constructor: -> var1 : 'var1' module.exports […]