サンドボックスを処理するメディエーター オブジェクトを取得しました。
各サンドボックスはメディエーターに登録する必要があります。私は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);
});
現在のアプローチで述べたように、2 つの異なるメディエーターにサンドボックスを登録します。これを解決する 1 つのアイデアは、シングルトン パターンを使用することですが、これはアーキテクチャと requirejs の推奨事項と競合します。
では、サンドボックスがすべて Mediator の同じインスタンスに登録されるようにするには、他にどのような方法が必要でしょうか?