Exemplo de singleton Backbone.js

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