Sto cercando di organizzare meglio il mio JavaScript. Il mio obiettivo è avere un'architettura modulare che possa essere suddivisa in file separati (sitename.js, sitename.utils.js ecc.).Qual è la differenza tra questi due modelli JavaScript
Mi piacerebbe sapere quali sono i vantaggi e gli svantaggi di questi due modelli e quale è più adatto per entrare in moduli che vivono in file separati.
motivo # 1 (modello modulo)
var MODULE = (function() {
//private methods
return {
common: {
init: function() {
console.log("common.init");
}
},
users: {
init: function() {
console.log("users.init");
},
show: function() {
console.log("users.show");
}
}
}
})();
modello # 2 (Singleton)
var MODULE = {
common: {
init: function() {
console.log("common.init");
}
},
users: {
init: function() {
console.log("users.init");
},
show: function() {
console.log("users.show");
}
}
};
La prima cosa che viene in mente è che Pattern 1 consente il codice di inizializzazione che può includere dichiarazioni di variabili o funzioni che vanno immediatamente fuori dal campo di applicazione, non contaminando quindi l'ambito che lo racchiude. – Pablo