バックボーンの Todo MVC アプリhttp://addyosmani.github.com/todomvc/をいじっていて、何かに気付きました。Backbone と js の経験が豊富な著者は、Router (var Workspace) と Collection (var TodoList) を宣言するときに「var」を使用し、インスタンス化時にそれらをアプリの名前空間に取り込みます。たとえば、
app.TodoRouter = new Workspace();
ただし、たとえばビューを宣言するときは、var を使用せずに名前空間を直接使用します。彼はモデルでもこれを行います。例えば、
app.TodoView = Backbone.View.extend({
});
すべてのコードを調べる必要はありませんが、その決定には、私が見逃しているより高いレベルの理由がありますか、それとも単に恣意的なものですか
コード
意見
app.TodoView = Backbone.View.extend({
});
ルーター
var Workspace = Backbone.Router.extend({
});
app.TodoRouter = new Workspace();
コレクション
var TodoList = Backbone.Collection.extend({
});
// Create our global collection of **Todos**.
app.Todos = new TodoList();