Planeo usar el siguiente patrón para hacer uso del módulo basado en requireJS para que actúe como singleton. Tenga en cuenta que clase A devuelve una instancia de tipo 'clase A', mientras que el resto de las clases clase B, clase C y principal devuelven el tipo de la clase del módulo. Todas estas son clases basadas en la clase MooTools.¿Es una mala práctica usar el módulo requireJS como singleton?
La idea es utilizar la clase A como singleton disponible a nivel mundial, los métodos son solo rellenos. ¿Alguna idea si este es un patrón aceptable para usar?
¿Esto me volverá a picar en una etapa posterior? Aún no he intentado ejecutar r.js en el proyecto, por lo que estoy un poco preocupado y busco algunos consejos.
// classA.js
define([], function() {
var classA = new Class({
initialize: function (regionId) {
// perform some Initialization.
this.data = null;
},
doSomething: function(param) {
// some thing.
this.data = param;
}
};
return new classA();
});
// classB.js
define(["classA"], function(classA) {
var classB = new Class({
initialize: function (regionId) {
// perform some Initialization.
},
doSomethingElse: function() {
// some thing.
classA.doSomething("Go back to Work Now!");
}
};
return classB;
});
// classC.js
define(["classA"], function(classA) {
var classB = new Class({
initialize: function (regionId) {
// perform some Initialization.
},
doSomethingElse: function() {
// some thing.
classA.doSomething("Time to Play!");
}
};
return classC;
});
// main.js
define(["classA", "classB", "classC"], function(classA, classB, classC) {
var main = new Class({
initialize: function (regionId) {
// perform some Initialization.
this.b = new classB();
this.c = new classC();
},
doEverything: function() {
// some thing.
this.b.doSomethingElse();
classA.doSomething("Nap Time!");
}
};
return main;
});
Gracias de antemano ...
Encontré otra publicación tocando el mismo tema - [link] [http://stackoverflow.com/questions/7708194/dependency-injection-with-requirejs] – Karthik