Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_ekzamenu.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
564 Кб
Скачать
☆
  1. Реализация шаблона mvc (Model View Controller) в asp.Net и Visual Studio.

ASP.NET MVC – фреймворк для создания сайтов и веб-приложений с помощью реализации паттерна MVC.

Концепция паттерна (шаблона) MVC (model - view - controller) предполагает разделение приложения на три компонента:

  • Контроллер (controller) - класс, обеспечивающий связь между пользователем и системой, представлением и хранилищем данных. Он получает вводимые пользователем данные и обрабатывает их. И в зависимости от результатов обработки отправляет пользователю определенный вывод, например, в виде представления.

  • Представление (view) - визуальная часть или пользовательский интерфейс приложения. Как правило, html-страница, которую пользователь видит, зайдя на сайт.

  • Модель (model) класс, описывающий логику используемых данных.

В этой схеме модель является независимым компонентом - любые изменения контроллера или представления не затрагивают модель.

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

Благодаря этому реализуется концепция разделение ответственности, в связи с чем легче построить работу над отдельными компонентами.

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

Структура проекта с MVC:

App_Data - файлы, ресурсы и базы данных, используемые приложением

App_Start - ряд статических файлов, которые содержат логику инициализации приложения при запуске

Content - вспомогательные файлы, которые не включают код на C# или javascript, и которые развертываются вместе с приложением, например, файлы стилей CSS

Controllers - файлы классов контроллеров. По умолчанию в эту папку добавляются два контроллера - HomeController и AccountController

fonts - дополнительные файлы шрифтов, используемых приложением

Models - файлы моделей. По умолчанию Visual Studio добавляет пару моделей, описывающих учетную запись и служащих для аутентификации пользователя

Scripts - каталог со скриптами и библиотеками на языке javascript

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

Global.asax: файл, запускающийся при старте приложения и выполняющий начальную инициализацию. Как правило, здесь срабатывают методы классов, определенных в папке App_Start

Startup.cs - данный файл организует связь между OWIN и приложением. (OWIN представляет спецификацию, описывающую взаимодействие между компонентами приложения)

Web.config: файл конфигурации приложения

  1. Общая характеристика контроллеров (Controllers): создание, методы, методы действий, возвращаемые результаты, способы вызова. Примеры.

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

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

  • Чтобы обратиться контроллеру из веб-браузера, нам надо в адресной строке набрать адрес_сайта/Имя_контроллера/.

Так, по запросу адрес_сайта/Home/ система маршрутизации по умолчанию вызовет метод Index контроллера HomeController для обработки входящего запроса.

  • Если мы хотим отправить запрос к конкретному методу контроллера, то нужно указывать этот метод явно: адрес_сайта/Имя_контроллера/Метод_контроллера,

Например, адрес_сайта/Home/Buy - обращение к методу Buy контроллера HomeController.

Способы создания:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]