Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемwww.tolstykh.com
1 проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET MVC Framework– новая платформа Web-приложений ASP.NET MVC Framework – новая платформа Web-приложений вместо ASP.NET Web-Forms Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета
2 Схема MVC (Model-View-Controller) Архитектура (шаблон) ASP.NET MVC Framework делит пользовательский интерфейс на три разных объекта: 1.Контроллер получает входные данные (HTTP-запрос) и обрабатывает их; 2.Модель содержит бизнес-логику приложения. В ней находятся классы, которые манипулируют с данными, записывают их в базу… Модель не зависит ни от Представления ни от Контроллера; 3.Представление оформляет полученный результат в HTML-коде вида. Здесь MVC больше похож на классический ASP, чем на ASP.NET. Представления MVC отвечают только за порождение выходных данных. Обработчики событий и сложные элементы управления (как в Web- формах) им попросту ни к чему. Ход обработки запросов для такого шаблона показан на рисунке: Рассматриваемая архитектура подразумевает, что изменения в любом из компонентов оказывают минимальные воздействия на остальные части.
3 Результат применения MVC Уменьшается зависимость между частями приложения, что увеличивает его гибкость; Появляется возможность разрабатывать тесты для компонентов приложения, т.е. использовать технику разработки через тестирования (Test-Driven Development или сокращенно TDD). Ошибки, при использовании MVC Перегруженный Контроллер Некоторые разработчики ошибочно трактуют Модель только как средство доступа к базе данных. В результате бизнес-логика переходит в Контроллер, что в корне противоречит архитектуре MVC. Стоит помнить, что Модель это не только доступ к данным, но и логика приложения, проверка получаемых от пользователя данных и т. д. В свою очередь, Контроллер – связующее звено между ней, Представлением и пользователем. Перегруженная Модель Другим заблуждением является попытка перенести всю логику в Модель. Подобную ошибку часто можно встретить при разработке Web-приложений. В этом случае Представление стараются превратить в простой шаблон, доступный для редактирования любому верстальщику. При этом логика элементов пользовательского интерфейса из Представлений перемещается в Модель или, иногда, в Контроллер. Данный подход ошибочен с точки зрения архитектуры MVC, т.к. нарушается четкое разделение компонентов: Модель становится зависима от Представления. При правильном подходе, Логика пользовательского интерфейса должна находиться в Представлениях. Но при этом важно корректно разделить ее и бизнес- логику.
4 MVC Web Application MVC Framework не предполагает использование классических web-форм и web-элементов управления, в нем отсутствуют такие механизмы как обратные вызовы (postbacks) и состояние представления (viewstate). MVC Framework предлагает использование URL-mapping и архитектуру REST 1 в качестве модели запросов, что положительно повлияет на поисковую оптимизацию web-проектов. MVC Framework предложил для разработчиков ASP.NET новый стиль, ориентированный на качество клиентского кода. Генерируемый MVC код страниц не содержит ничего автоматически создаваемого, как в классическом ASP.NET, здесь нет раздутых идентификаторов, нет огромных viewstate, написание клиентских скриптов упрощено в связи с тем, что код страницы представляет собой чистый, созданный самим программистом HTML. ______________________________________ 1 - Каждая единица информации однозначно определяется URL
5 Создание MVC Web Application Будем использовать Microsoft Visual Studio Выбираем File -> New -> Project… ASP.NET MVC Web Application Получаем проект в виде, показанном на рисунке. Директории: /Properties стандартная директория для Web Application, содержит настройки проекта. /References ссылки на другие сборки, проекты и т.д. /App_Data специальная директория для хранения данных, Content в этой директории мы будем хранить изображения, стили и тому подобное. Весь статический контент сайта, /Controllers классы, отвечающие за компоненты Controller, Models классы с логикой проекта, Views непосредственно пользовательский интерфейс приложения. В этой директории создаются поддиректории для каждого контроллера (/Views/Home в нашем случае). И уже в них по. aspx -странице для каждого из методов котроллера, Views/Shared содержит то, что может пригодиться для всех контроллеров, например MasterPages и UserControls.
6 Прощайте, Web-формы? Web-формы это хорошо проработанная технология, и Майкрософт будет по-прежнему поддерживать и совершенствовать ее. Есть немало приложений, в которых Web-формы прекрасно работают. К примеру, если при создании приложения, выдающего отчеты по базам данных, использовать Web-формы, то на него уйдет гораздо меньше времени, чем при работе в платформе MVC. Кроме того, Web-формы поддерживают широчайший набор элементов управления со сложной структурой. Когда лучше предпочесть MVC Web-формам? Это во многом зависит от конкретных требований и ваших личных предпочтений. Вам надоело бороться с URL-адресами, добиваясь нужной их формы? Вам нужно средство модульного тестирования интерфейса? И в том, и в другом случае стоит, наверное, обратиться к платформе MVC. Вам приходится отображать большое количество данных, вы используете сложные сетки и деревья? Тогда лучше остановить свой выбор на Web-формах. Со временем платформа MVC, вероятно, догонит Web-формы по уровню сложности элементов управления, но вряд ли когда-то с ней будет так же просто начать работать, как с Web-формами, в которых большинство действий сводится к перетаскиванию элементов. Но между тем, платформа ASP.NET MVC предлагает Web-разработчикам совершенно новый способ создания приложений в Microsoft.NET Framework. В ней есть широкие возможности тестирования, в ней делается упор на HTTP, она отлично масштабируется. Она станет отличным дополнением к Web-формам в том случае, когда разработчику требуется полный контроль над Web-приложением.
7 Источники Крис Таварес (Chris Tavares). ASP.NET MVC: Создание веб-приложений без форм. MSDN Magazine, 2008.ASP.NET MVC: Создание веб-приложений без форм ASP.NET MVC на реальном примере. Теория и вступление.ASP.NET MVC на реальном примере. Теория и вступление ASP.NET MVC 3 в деталях.ASP.NET MVC 3 в деталях
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.