Backbone не является реализацией шаблона MVC. Вместо этого лучше думать о нем как о реализации MV *, где у него есть модели, но нет контроллера, и его представления часто реализуются как комбинация вида, контроллера и презентатора, и нет строгого контроллера, презентатора или модели представления. Понимание этого, безусловно, является первым, что нужно понять, когда вы чувствуете растерянность по поводу магистрали, и пытаетесь понять, как ее использовать при обращении к шаблону MVC.
Шаблоны MVC, MVP, MVVM и MV * трудно по-настоящему обмануть, просто прочитав одну или две статьи, или на простом примере, и кажется, что у всех есть похожее, но немного отличное представление о том, что они из себя представляют. .
Чтобы по-настоящему хорошо обсудить MVP и MVC в отношении магистрали, прочитайте статью Адди Османи о разработке магистральных приложений Здесь .
Но если вы просто обеспокоены тем, как использовать магистраль, и чувствуете, что должны быть экспертом MVC, чтобы делать это правильно, то вы беспокоитесь о том, что не так. Вместо этого посмотрите на существующие опубликованные базовые примеры, следуйте этим шаблонам, и, когда вы добавляете код в свое представление и модель, помните о следующих моментах для каждого фрагмента кода, который вы пишете:
- Это вид конкретного кода? Затем поместите это в представление.
- Это код данных? Затем поместите его в модель.
- Этот код о координации вида и модели? Склонны показывать это на виду.
Хорошая рекомендация для № 1 и 2 выше - не разрешать вашей модели вообще ссылаться на DOM, а затем помещать в модель весь код, который вы можете. И только код, который должен ссылаться на DOM, попадает в представление. Если вы пытаетесь достичь этой цели и нарушаете ее только тогда, когда очевидно, что код становится более запутанным, если вы помещаете его в модель, тогда вы должны быть довольно хороши.