Мои мысли об этом обновлены ниже: Я думаю, что Джош дал хороший ответ, однако, по моему опыту, при создании нескольких приложений Backbone даже приложениям средней сложности нужен отдельный класс контроллера.
Чтобы прояснить, что я имею в виду под контроллером: Функциональность между моделью (или маршрутизатором) и представлением, которое создает и создает новый класс представления и уничтожает (и отменяет регистрацию событий) на старом.Эта функциональность может быть одинаковой для многих представлений (поэтому прямые взаимно-однозначные отношения между представлениями и контроллерами, вероятно, не требуются), но иногда необходимо передать модель или другие дополнительные дополнительные значения.
Сейчас у меня только один контроллер с несколькими операторами if для добавления некоторых уникальных данных в определенные представления для большинства приложений, которые я создал, но я смотрю на настройку архитектуры, в которой он будет проверяться, чтобы увидетьесли для этого представления существует уникальный контроллер, иначе он возвращается к стандартному контроллеру.Ничего особенного, но следует делать эту работу.
Обновление: После шести месяцев создания приложений Backbone я понял, что маршрутизаторы можно разделять и расширять, как представления.(да?)
С самого начала я знал, что для создания базового представления о функциональности я знаю, что понадобятся все мои представления.Точно так же я бы сделал базовые представления для каждого раздела, такие как страницы «профиля» или «входящие», которые, как я знаю, будут использовать одну и ту же функциональность.Вначале это было не так ясно для меня с маршрутизаторами, но на это намекало предыдущее имя «Контроллер».
Большинство людей (как в каждом примере Backbone, который я когда-либо видел в сети)просто используйте один экземпляр монолитного маршрутизатора для обработки всех маршрутов, но на самом деле вы можете иметь соотношение паритетов к просмотрам 1: 1 или, в моем случае, базовый маршрутизатор для проверки аутентификации пользователя и т. д., а затем один для каждого основного раздела.Таким образом, если вам нужно передать определенные модели или коллекции на маршрутизатор при загрузке страницы, вам не нужно добавлять код к одному монолитному маршрутизатору, а вместо этого использовать уникальный маршрутизатор для этого представления.Я считаю, что в настоящее время это лучше, чем создание отдельного класса контроллера.Базовый маршрутизатор может отвечать за последнее созданное представление и т. Д., Поэтому вы можете уничтожить последнее представление перед созданием нового.
TLDR: использовать несколько маршрутизаторов в качестве контроллеров.Я верю, что это то, для чего они предназначены, и это хорошо работает.