gpt4 book ai didi

javascript - 在没有单例模式的情况下通过 require js 共享原型(prototype)实例?

转载 作者:行者123 更新时间:2023-11-30 18:18:58 25 4
gpt4 key购买 nike

我有一个处理沙箱的中介对象。

每个沙箱都必须在中介处注册。因为我也使用 requirejs 这是一个小问题,因为我不知道如何共享实例而不是原型(prototype):

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 实例?

最佳答案

因为我不能发表评论,所以我要发表一个答案。

ggozad 在这里解释了如何在 RequireJS 中做单例:Is it a bad practice to use the requireJS module as a singleton?

他的代码:

define(function (require) {
var singleton = function () {
return {
...
};
};
return singleton();
});

关于javascript - 在没有单例模式的情况下通过 require js 共享原型(prototype)实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com