Просто не получаю MVC (как backbone.js) - PullRequest
1 голос
/ 13 февраля 2012

Мне достаточно комфортно с javascript и php; Я бы сказал, что я промежуточный. Я начинаю новый проект, который действительно должен быть построен в чем-то вроде инфраструктуры MVC. Я искал в backbone.js, но по какой-то причине логика просто не прилипает. Я возился с OOPHP и, конечно же, работая с jQuery, присущ определенный уровень "объектности" ... но я не совсем могу разобраться с базовой методологией чего-то вроде backbone.js.

Где-нибудь еще я должен начать? Более простой MVC или, может быть, хороший ресурс, с которым я могу работать, поможет придерживаться концепций и методов?

Это просто такой сдвиг парадигмы. По сравнению со всеми процедурными вещами, которые я делал до сих пор, это действительно похоже на изучение нового языка.

Кроме того, я не буду использовать интерфейс RESTful или что-либо еще, просто хорошо сохраняю старые вещи в MYSQL через php.

Ответы [ 3 ]

3 голосов
/ 13 февраля 2012

Если вы заинтересованы в изучении подхода MVC с использованием javascript, я бы предложил прочитать Веб-приложения Javascript . Вы также найдете главу о Backbone.

Взгляните также на паттерны позвоночника .

2 голосов
/ 14 февраля 2012

Backbone не является реализацией шаблона MVC. Вместо этого лучше думать о нем как о реализации MV *, где у него есть модели, но нет контроллера, и его представления часто реализуются как комбинация вида, контроллера и презентатора, и нет строгого контроллера, презентатора или модели представления. Понимание этого, безусловно, является первым, что нужно понять, когда вы чувствуете растерянность по поводу магистрали, и пытаетесь понять, как ее использовать при обращении к шаблону MVC.

Шаблоны MVC, MVP, MVVM и MV * трудно по-настоящему обмануть, просто прочитав одну или две статьи, или на простом примере, и кажется, что у всех есть похожее, но немного отличное представление о том, что они из себя представляют. .

Чтобы по-настоящему хорошо обсудить MVP и MVC в отношении магистрали, прочитайте статью Адди Османи о разработке магистральных приложений Здесь .

Но если вы просто обеспокоены тем, как использовать магистраль, и чувствуете, что должны быть экспертом MVC, чтобы делать это правильно, то вы беспокоитесь о том, что не так. Вместо этого посмотрите на существующие опубликованные базовые примеры, следуйте этим шаблонам, и, когда вы добавляете код в свое представление и модель, помните о следующих моментах для каждого фрагмента кода, который вы пишете:

  1. Это вид конкретного кода? Затем поместите это в представление.
  2. Это код данных? Затем поместите его в модель.
  3. Этот код о координации вида и модели? Склонны показывать это на виду.

Хорошая рекомендация для № 1 и 2 выше - не разрешать вашей модели вообще ссылаться на DOM, а затем помещать в модель весь код, который вы можете. И только код, который должен ссылаться на DOM, попадает в представление. Если вы пытаетесь достичь этой цели и нарушаете ее только тогда, когда очевидно, что код становится более запутанным, если вы помещаете его в модель, тогда вы должны быть довольно хороши.

2 голосов
/ 13 февраля 2012

Ну, технически

backbone.js - это вариант всей концепции MVC.Backbone использует концепцию «модель-представление-коллекция», а не модель-представление-контроллер.где представление берет на себя некоторую работу над тем, что сделал бы контроллер в реальном mvc.

это не плохо, по моему мнению, javascript никогда даже не предназначался для такой вещи :) и если вывы не привыкли к программированию в MVC, вы можете даже не заметить разницу.

хотя, если вы хотите начать с нескольких простых примеров, вокруг backbone.js, я предлагаю вам взглянуть на этот сайт http://www.backbonetutorials.com/ который дает вам толчок к созданию приложений для сбора моделей (как это делает магистраль).затем, когда вы поймете эту концепцию, вы можете перейти к примерам, приведенным на сайте backbone.js .особенно приложение Todo, которое также предоставило аннотированный источник объекта.это полностью работающее простое приложение, которое может дать вам представление о том, как оно должно работать, а не иметь эти отдельные примеры.но вы должны начать где-нибудь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...