É uma prática ruim usar o módulo requireJS como um singleto
Eu planejo usar o padrão a seguir para usar o módulo com base no requireJS para atuar como um singleton. Observe queclasse retorna uma instância do tipo 'classA', enquanto o restante das classesclassB, classC e main retorna o tipo da classe do módulo. Todas essas são classes baseadas na classe MooTools.
A idéia é usar oclasse como um singleton disponível globalmente, os métodos são apenas preenchimentos. Alguma idéia se este é um padrão aceitável de usar?
Vai voltar para me morder mais tarde? Ainda não tentei executar o r.js. no projeto, por isso estou um pouco preocupado e procure alguns conselhos.
// 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;
});
Muito obrigado antecipadamente ...