La migliore struttura di codifica JavaScript utilizza l'oggetto letterale?

5

Object Literal è stato senza dubbio stabilito negli ultimi anni come una delle componenti essenziali per le migliori pratiche di codifica JavaScript. Tuttavia, non sono molto sicuro su quale sia il modo migliore per strutturare i miei codici usando Object Literal.

È stato suggerito in precedenza che Pattern Pattern potrebbe essere una buona tecnica per strutturare i tuoi codici [ 1] [2] , ma le critiche relative al Pattern modulo hanno iniziato a emergere mentre le persone passavano più volte ad esplorare il estensione della tecnica. [3] [4]

Quindi, la mia domanda è: a partire dall'estate 2011, qual è il modo migliore riconosciuto per strutturare i tuoi codici utilizzando Object Literal? È ancora il Pattern dei Moduli, o qualche altra tecnica è già emersa come una sostituzione ancora migliore?

    
posta gsklee 07.08.2011 - 18:12
fonte

2 risposte

5

Il modello del modulo può essere bello per certe cose, ma dovresti davvero considerare se hai davvero bisogno che le tue proprietà siano private. Se è veramente necessario rendere private le tue proprietà, allora usa assolutamente il modello Module:

var namespace = (function(){ 
  var a = {
    internalFunction: function (number) {/*Do internal stuff*/},
    internalVariable: 365,
    publicFunction: function() { return internalFunction(internalVariable) },
  }
  return {
    publicFunction: a.publicFunction
  }
}();

Se non ti dispiace che tutte le tue funzioni siano accessibili, usa semplicemente questo modulo più semplice:

var namespace = {
  noLongerInternalFunction: function(number) {/*Do stuff*/},
  noLongerInternalVariable: 365,
  stillPublicFunction: function() { 
    return noLongerInternalFunction(noLongerInternalVariable); 
  }
}
    
risposta data 07.08.2011 - 18:46
fonte
4

Questo non ha molto senso. Non esiste un modello di progettazione "Oggetto letterale" e "Oggetto letterale" non è un componente.

I letterali oggetto (plurale) sono una caratteristica intrinseca della sintassi di Javascript, e non vedo quale rilevanza abbiano per un modello di progettazione in particolare o, di fatto, per il design nel suo insieme.

(Inoltre, cerca di non preoccuparti troppo dei modelli che le altre persone usano in un dato momento arbitrario. Usa lo strumento giusto per il lavoro.)

    
risposta data 07.08.2011 - 18:51
fonte

Leggi altre domande sui tag