Что такое MVC (контроллер представления модели)?[закрыто]

StackOverflow https://stackoverflow.com/questions/129921

Вопрос

В последнее время я слышал, что термин MVC (Model View Controller) вызывает много шума, но что это на самом деле?

Это было полезно?

Решение

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

Другие советы

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

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

MVC - это шаблон проектирования, впервые разработанный в старые времена smalltalk.

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

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

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

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

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

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

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

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

Фрагмент:

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

Слои:

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

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

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

Википедия, кажется, пока описывает это лучше всего:

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

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

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

Это Что такое MVC статья в блоге Орейли освещает вас.

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

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

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

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

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

Вид:- отображает данные, имеющиеся в Модели.

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

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

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

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

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

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

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

Views - Уровень представления вашего приложения.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top