【发布时间】:2012-09-23 08:27:12
【问题描述】:
我有一个处理沙盒的中介对象。
每个沙盒都必须在中介处注册。因为我也使用 requirejs,所以这是一个小问题,因为我不知道如何共享实例而不是原型:
mediator.js
define([], function() {
var Mediator = function() {};
Mediator.prototype.start = function() {};
Mediator.prototype.stop = function() {};
Mediator.prototype.register = function() {};
Mediator.prototype.unregister = function() {};
return Mediator;
});
sandbox_one.js
define(['mediator'], function(Mediator) {
var mediator = new Mediator();
mediator.register('sandboxOne', SandboxObject);
});
sandbox_two.js
define(['mediator'], function(Mediator) {
var mediator = new Mediator();
mediator.register('sandboxtwo', SandboxObject);
});
正如您在当前方法中提到的那样,我在两个不同的中介处注册沙箱。解决这个问题的一个想法是使用单例模式,但这与架构和 requirejs 建议冲突..
那么我还有什么其他方法可以让沙盒注册到同一个 Mediator 实例?
【问题讨论】:
-
你能再解释一下吗?如果你在任何地方都使用同一个实例,那么无论如何你都会有一个单例,不管你怎么称呼它?
标签: javascript singleton instance requirejs amd