Крупная backbone.js организация веб-приложения

Я в настоящее время работаю над большим веб-приложением, основывался на backbone.js и имели много проблем с организацией, "зомби", и т.д. таким образом, я решил сделать, майор осуществляет рефакторинг кода. Я уже записал набор функций помощника для контакта с "зомби"; однако, я хотел бы запуститься с самого начала и создать хорошую структуру/организацию к коду. Я не нашел много больших учебных руководств/примеров на крупномасштабной backbone.js организации, таким образом, я имею вид запущенных с нуля и хотел бы видеть, могу ли я надеть некоторые мнения, где я начал.

Я, очевидно, установил свой кодекс в глобальном пространстве имен; но я также хотел бы сохранить то пространство имен, скорее убирают. Мой основной app.js сохраняет сами файлы класса, отделяются от глобального пространства имен; можно зарегистрировать класс (так, чтобы он можно было инстанцировать) при помощи reg () функция и inst (), функция инстанцирует класса от массива классов. Таким образом, помимо этих 3 методов, пространство имен MyApp только имеет Маршрутизатор, Модель и Представление:

var MyApp = (function () {

    var classes = {
        Routers: {},
        Collections: {},
        Models: {},
        Views: {}
    };

    methods = {

        init: function () {
            MyApp.Router = MyApp.inst('Routers', 'App');
            MyApp.Model = MyApp.inst('Models', 'App');
            MyApp.View = MyApp.inst('Views', 'App');
            Backbone.history.start();
        },

        reg: function (type, name, C) {
            classes[type][name] = C;
        },

        inst: function (type, C, attrs) {
            return new classes[type][C](attrs || {});
        }

    };

    return methods;

}());

$(MyApp.init);

В рамках Моделей, Наборов, Маршрутизаторов и Представлений, я работаю, как обычно, но затем должен зарегистрировать тот класс в конце файла так, чтобы он можно было инстанцировать позже (не создавая помехи пространству имен) с:

MyApp.reg('Models', 'App', Model);

Это походит на ненужный способ организовать код? У других есть лучшие примеры того, как организовать действительно крупные проекты со многими Маршрутизаторами, Наборами, Моделями и Представлениями?

61
задан 4 November 2011 в 02:40

0 ответов

Другие вопросы по тегам:

Похожие вопросы: