Ho intenzione di utilizzare il seguente modello per utilizzare il modulo basato su requireJS per agire come un singleton. Si noti che classA restituisce un'istanza di tipo 'classA', mentre il resto delle classi classB, classC e main restituiscono il tipo di classe dal modulo. Tutte queste sono classi basate sulla classe MooTools.È una cattiva pratica usare il modulo requireJS come un singleton?
L'idea è di utilizzare la classe A come un singleton disponibile a livello globale, i metodi sono solo riempitivi. Qualche idea se questo è un modello accettabile da usare?
Questo tornerà a mordermi in una fase successiva? Non ho ancora provato a eseguire r.js nel progetto, quindi sono un po 'preoccupato e cerco qualche consiglio.
// 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;
});
Grazie mille in anticipo ...
Trovato un altro post che tocca lo stesso argomento - [collegamento] [http://stackoverflow.com/questions/7708194/dependency-injection-with-requirejs] – Karthik