Singleton Backbone-Modelle mit RequireJS: Anti-Pattern?

8

Ich habe ein Modell, auf das mehrere Ansichten zugreifen müssen, und um dies zu erreichen, definiere ich das Modellmodul sofort wie folgt:

%Vor%

Ich brauche nur eine Instanz dieses Modells - genau das ist es. Die Problemumgehung dafür ist, soweit ich weiß, ein separates App -Modul. Etwas wie:

%Vor%

, auf dem Sie Referenzen auf Objekte beim Start der Anwendung instanziieren und speichern können:

%Vor%

Aber ich habe das Gefühl, dass dies eine schlechte Alternative ist, da Sie im Wesentlichen wieder einen globalen Namensraum haben - etwas, das RequireJS vermeiden sollte.

Gibt es Alternativen und gibt es einen guten Grund, Singleton-Modelle wie oben beschrieben zu vermeiden?

    
Radu 21.09.2012, 03:03
quelle

2 Antworten

5

Hmm .. Ich habe die RequireJS-Module als Singleton-Objekte für eine Weile ohne Probleme verwendet. Hier ist eine verwandte Frage, die ich gestellt habe.

Ist es ein schlechte Praxis, das requireJS-Modul als Singleton zu verwenden?

Hoffe, das hilft!

    
Karthik 21.09.2012 06:04
quelle
3

Sie müssen das Namespaceding nicht erstellen. Ihr erstes Beispiel erstellt einen Singleton. Wann immer Sie dieses Modul benötigen, erhalten Sie dieselbe Instanz Ihres Modells. Anstatt also ein neues App-Modul zu erstellen und die Instanz dort zu speichern, benötigen Sie nur das Modul Ihres ersten Beispiels. Wir verwenden es in unserer App, um eine Singleton-Instanz unserer App zu erstellen, und ich kann damit keine Fallstricke sehen.

    
Andreas Köberle 21.09.2012 07:09
quelle