我有一个处理沙箱的中介对象。
每个沙箱都必须在中介处注册。因为我也使用 requirejs,所以这是一个小问题,因为我不知道如何共享实例而不是原型:
中介者.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 建议冲突。
那么我还有什么其他方法可以让沙箱注册到同一个中介者实例?