Você já quis ter uma aula única de backbone? Permitindo que você acesse uma instância de classes de qualquer lugar sem ter que passar um identificador para uma instância.
A classe de backbone adicional
Backbone.Singleton = {
getInstance: function () {
if (this._instance === undefined) {
this._instance = new this();
}
return this._instance;
}
}
Exemplo de uso com um Backbone.Router
TestRouter = function(){};
_.extend( TestRouter, Backbone.Router );
// extend Backbone.Singleton
_.extend( TestRouter, Backbone.Singleton );
// access your router from anywhere!!
// just make sure not to call new,
// only use .getInstance()
var inst = TestRouter.getInstance();
Eu tenho um fork do Backbone.js com esta adição de código e testes no github. https://github.com/dperrymorrow/backbone