Мог кто-то объяснять MVC мне в Ruby on Rails в терминах неспециалиста. Я особенно интересуюсь пониманием Модели в MVC (не может получить мою голову вокруг модели).
Часть фона, MVC представляет собой (составной) шаблон проектирования и был разработан в 1979 году Трюгве Ренскауг (Smalltalk).
Настоящий MVC в основном планировался для использования в n-уровневых (невеб-) системах и разделяет систему на 3 отдельные части, Модель, Вид и Контроллер
Модель
Вид
Контроллер
** Классический MVC не подходит для веб-приложений, так как модель не может посылать все изменения вида в режиме наблюдателя (вид - это веб-страница). Модель2 была представлена для преодоления меняющейся инфраструктуры командой JSP в 90-х годах . MVC Web фреймворки на самом деле не MVC, а Model2 (это верно для Ruby on Rails).
Вот описание паттернов GUI, включая MVC от мастера, Мартина Фаулера. GUI архитектуры
Лучшая книга, которую я нашел до сих пор является Agile Web Development with Rails . Она начинается с предположения, что никаких знаний, и является довольно полным.
Надеюсь, что это поможет пролить свет на вас!
.Я думаю, что лучший способ понять MVC - это на примере. Попробуйте создать простое приложение Rails с помощью MVC. В Интернете есть множество учебных пособий, например пример блога в «Приступая к работе с Rails» .
Если вы решили учиться с помощью кодирования примера, ознакомьтесь с ответами на Где я могу найти ясное примеры MVC?
Ваша Модель - это структура данных, которую использует ваша программа.
Представление - это часть, которая взаимодействует с экраном или на следующий уровень выше.
Контроллер обычно обрабатывает данные между модель и представление
Структуры MVC часто являются вложенными, поэтому «Модель» или «Представление» может содержать свой собственный MVC (подумайте о компоненте на экране. Вы можете просто заполнить его строкой, но за кулисами код компонента рисует свое собственное небольшое представление, имеет свою собственную небольшую модель (строку, которую вы передаете) и имеет небольшой контроллер, отображающий данные в представлении.
В Rails роли модели, представления и контроллера хорошо подходят -определенный структурой, любое руководство будет указывать на три компонента, поскольку оно проведет вас через файлы, которые он создал.
В других системах эти части может быть труднее идентифицировать.MVC не идеален, просто имейте в виду, что есть допустимые альтернативы, но это хороший способ начать организовывать.
MVC предназначен не только для Ruby on Rails. На самом деле он был создан задолго до того, как появился Ruby on Rails. В основном это просто способ организации вашего кода, чтобы у вас был код, отвечающий за ваши модели (версия таблицы базы данных класса), код, который отвечает за ваши представления (что визуально отображается пользователю) и код, ответственный за для ваших контроллеров (что связывает представления с моделями и выполняет основную часть вашей логики.
Это описание, не зависящее от фреймворка. Каждый фреймворк, использующий MVC, имеет свой способ его реализации. Для Ruby on Rails каждая модель представляет таблицу базы данных как класс, который может напрямую взаимодействовать в коде с другими объектами без необходимости писать какой-либо SQL. Все SQL обрабатываются в фоновом режиме, и вам просто нужно думать об этом, как если бы это был обычный класс (ну, почти, это еще не все). Представление в основном HTML и представляет то, что будет отправлено в браузер. Контроллер - это просто код, который обменивается данными между моделями и представлениями.
В общем, MVC характерен не только для Ruby on Rails ... он просто самый популярный.