Учебники

ASP.NET MVC — Шаблон

Шаблон проектирования MVC (Model-View-Controller) фактически существовал в течение нескольких десятилетий и использовался во многих различных технологиях. Все от Smalltalk до C ++ и Java, и теперь C Sharp и .NET используют этот шаблон проектирования для создания пользовательского интерфейса.

Ниже приведены некоторые существенные особенности шаблона MVC —

  • Первоначально он назывался Thing-Model-View-Editor в 1979 году, а затем был упрощен до Model-View-Controller.

  • Это мощное и элегантное средство разделения проблем в приложении (например, отделение логики доступа к данным от логики отображения) и очень хорошо применяется к веб-приложениям.

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

Первоначально он назывался Thing-Model-View-Editor в 1979 году, а затем был упрощен до Model-View-Controller.

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

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

Архитектурный шаблон MVC разделяет пользовательский интерфейс приложения на три основные части.

MVC Архитектурный Образец

  • Модель — набор классов, который описывает данные, с которыми вы работаете, а также бизнес-логику.

  • Вид — определяет, как будет отображаться пользовательский интерфейс приложения. Это чистый HTML, который решает, как будет выглядеть пользовательский интерфейс.

  • Контроллер — набор классов, который управляет связью от пользователя, общим потоком приложения и логикой приложения.

Модель — набор классов, который описывает данные, с которыми вы работаете, а также бизнес-логику.

Вид — определяет, как будет отображаться пользовательский интерфейс приложения. Это чистый HTML, который решает, как будет выглядеть пользовательский интерфейс.

Контроллер — набор классов, который управляет связью от пользователя, общим потоком приложения и логикой приложения.

Идея позади MVC

Идея состоит в том, что у вас будет компонент, называемый представлением, который несет исключительную ответственность за отображение этого пользовательского интерфейса, будь то HTML или действительно ли это виджеты пользовательского интерфейса в настольном приложении.

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

В веб-приложении представление может вообще не иметь никакого кода, связанного с ним. Это может быть просто HTML, а затем несколько выражений о том, где взять фрагменты данных из модели и вставить их в правильные места внутри HTML-шаблона, который вы создали в представлении.

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