Подтвердить что ты не робот

Что такое MVC (Model View Controller)?

Я слышал, что в последнее время термин MVC (Model View Controller) подбрасывается тонны Buzz, но что это на самом деле?

4b9b3361

Ответ 1

Возможно, вам стоит взглянуть на то, что Мартин Фаулер должен сказать о архитектуре MVC, MVP и UI в целом на сайте Мартина Фаулерса.

Ответ 2

Мне нравится эта статья от Мартина Фаулера. Вы увидите, что MVC на самом деле более или менее мертв, строго говоря, в своем первоначальном домене богатого программирования пользовательского интерфейса. Различие между View и Controller не распространяется на большинство современных инструментов пользовательского интерфейса.

Этот термин, похоже, недавно нашел новую жизнь в кругах веб-программирования. Я не уверен, действительно ли это MVC, или просто повторное использование имени для некоторых тесно связанных, но тонко разных идей.

Ответ 3

MVC - это образец дизайна, первоначально созданный в старые времена smalltalk.

Концепция заключалась в том, что модель будет представлять ваше состояние и логику приложения, а контроллеры будут обрабатывать IO между "представлениями".

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

Современный MVC был загрязнен фальшивым веб-мусором MVC, поэтому я позволю другим ответить на это.

Ответ 4

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

Упрощение: Модель = Структура данных/Бизнес-логика Вид = Уровень вывода (например, HTML-код) Контроллер = Уровень передачи сообщений

Поэтому, когда люди говорят о MVC, о чем они говорят, это разделение кода на эти логические группы, чтобы он был чистым и структурированным и, надеюсь, слабо связан. Следуя этому шаблону проектирования, вы должны иметь возможность создавать приложения, которые могли бы иметь вид. View полностью изменился на что-то еще, даже не прикасаться к контроллеру или модели (то есть переходить с HTML на RSS).

Есть тонны и тонны учебных пособий, в которых есть только Google, и я уверен, что вы включите хотя бы один, который объяснит это в терминах, которые нажмите с вами.

Ответ 5

Вот наивное описание MVC: http://www.devcodenote.com/2015/04/mvc-model-view-controller.html

Отрывок:

Определение. Это шаблон проектирования, который отделяет приложение от множества уровней функциональности.

Слои:

Модель Представляет данные. Он действует как интерфейс между базой данных и приложением (как объект данных). Он будет обрабатывать проверки, ассоциации, транзакции и т.д.

контроллер Он собирает и обрабатывает данные. Обрабатывает код, который выполняет выбор данных и передачу данных.

Просмотр Отображает выходные данные для пользователей.

Ответ 6

Википедия, кажется, описывает ее до сих пор:

http://en.wikipedia.org/wiki/Model-view-controller

Model-view-controller (MVC) - это архитектурный шаблон, используемый в разработке программного обеспечения. Успешное использование шаблона изолирует бизнес-логику от соображений пользовательского интерфейса, в результате чего появляется приложение, в котором проще изменить внешний вид приложения или основные бизнес-правила, не влияя на другие. В MVC модель представляет информацию (данные) приложения и бизнес-правила, используемые для управления данными; представление соответствует элементам пользовательского интерфейса, таким как текст, элементы флажка и т.д.; и контроллер управляет деталями, связанными с сообщением, с моделью действий пользователя, такими как нажатия клавиш и движения мыши.

Ответ 7

Парадигма пользовательского интерфейса MVC или Model-View-Controller была впервые описана Trygve Reenskaug из Xerox PARC. Впервые появилось в печати в журнале "Бюйт" том 6, номер 8, в августе 1981 года.

Ответ 9

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

Ответ 10

Шаблон проектирования MVC:

4 части = Пользователь, Вид, Контроллер, Модель.

Пользователь:  - видит View и использует контроллер.

Модель:  - содержит данные и обновляет модель, что есть новые данные/состояние.

Вид:  - отображает данные, которые имеет Модель.

контроллер:  - принимает запрос от пользователя, чтобы получить или установить информацию, затем связывается с представлением или моделью, соответственно.  - он "получает" через представление.  - он "устанавливает" через модель.

Ответ 11

Это способ разделения базовых функций вашего приложения (модели) на то, как он взаимодействует с пользователем (представление). Контроллер координирует взаимодействие модели и представления друг с другом.

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

Ответ 12

MVC - это способ разбиения элемента пользовательского интерфейса на 3 различных понятия. Модель - это данные, на которых работает интерфейс. Представление состоит в том, как элемент отображается визуально (или, может быть, слышно?). Контроллер - это логика, которая работает с данными.

Например, если у вас есть текст, который вы хотите манипулировать в пользовательском интерфейсе. Простая строка может представлять данные. Представление может быть текстовым полем. Контроллер - это логика, которая преобразует входной сигнал от пользователя - например, символ или ввод мыши - и вносит изменения в базовую модель данных.

Ответ 13

Как уже многие говорили, MVC - это шаблон проектирования. Сейчас я преподаю одного из моих коллег и объяснил это так:

M. - Уровень доступа к данным. Это может быть прямой доступ к данным, веб-сервисы и т.д.

V iews - Уровень презентации вашего приложения.

C ontrollers - это бизнес-логика для вашего приложения.

Этот шаблон улучшает разработку, основанную на тестах.