Содержание
ASP.NET Core MVC — это платформа для создания веб-приложений и API-интерфейсов с использованием шаблона Model-View-Controller, которая является частью платформы ASP.NET Core. Преимуществом ASP.NET Core MVC по сравнению с базовым ASP.NET Core является то, что эта платформа упрощает, в ряде случаев, организацию и создание приложений. В особенности это относится к большим приложениям.
Model-View-Controller
Model-View-Controller (MVC, «Модель-Представление-Контроллер») — схема разделения данных приложения и управляющей логики на три отдельных компонента:
- модель,
- представление
- контроллер
таким образом, что модификация каждого компонента может осуществляться независимо друг от друга. Схематично этот паттерн проектирования можно представить следующим образом:
Рассмотрим эту схему. Какой бы запрос не осуществлял пользователь — на получение данных, их изменение или удаление, в любом случае этот запрос попадает в первый компонент — контроллер (controller). Контроллер — это компонент, который обеспечивает взаимосвязь между пользователем и приложением. Он обрабатывает входящие запросы и, либо, сразу генерирует данные для ответа (отправляет данные в представление), либо использует модель для манипуляции с данными и, затем, генерирует данные для представления.
Модель (model) — это компонент, содержащий всю бизнес-логику приложения. Модель ничего не знает о контроллерах и представлениях в приложении, но знает всё о том, как манипулировать данными приложения — записывать данные в БД, удалять данные, производить сложные расчёты, анализ и т.д.
Представление (view) — это та часть приложения, которая отвечает за отображение данных пользователю. Представление получает данные от контроллера и на основании этих данных формирует готовый ответ пользователю, например, генерирует html-страницу. Представление не должно содержать логику обработки запроса пользователя (за это отвечает контроллер) или управления данными (за это отвечает модель).
На основании этой схемы мы и будем, в дальнейшем, выстраивать работу наших приложений ASP.NET Core MVC. При этом, для успешного изучения этой платформы, нам необходимо иметь, хотя бы малейшее представление о том как, в принципе, работать с ASP.NET Core — об этом, вы можете узнать здесь.
Итого
ASP.NET Core MVC — это платформа для создания приложений ASP.NET Core с использованием шаблона MVC, позволяющего разделить всё приложение на три независимые части — контроллер, модель и представление. Так или иначе, для изучения ASP.NET Core MVC нам необходимы знания о базовой модели ASP.NET Core.