Проф. В.К.Толстых, www.tolstykh.com Технологии разработки Internet- приложений ASP.NET MVC Framework– новая платформа Web-приложений ASP.NET MVC Framework.

Презентация:



Advertisements
Похожие презентации
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: обработка данных форм. работа с формами работа с формами.
Advertisements

Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – Модули HTTP, фильтры, события приложения - Global.asax.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – обработка ошибок страниц и приложения, Global.aspx.
Платформа разработки ASP.NET Гайдар Магдануров t: e: m: +7.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – пользовательские элементы управления Из цикла лекций.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: динамические таблицы, привязка данных к выпадающему списку.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – локализация ресурсов приложения Из цикла лекций «Технологии.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET примеры: HtmlControls Из цикла лекций «Технологии разработки Internet-приложений»
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – класс Control Из цикла лекций «Технологии разработки.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
Создание проекта Zend Лекция 2 1.Создание нового проекта 2.Анализ нового проекта 3.Создание макетов.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Эталонные страницы – Master pages Из цикла лекций «Технологии разработки.
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Апробация технологий Silverlight/LINQ/WCF для создания web-приложений, ориентированных на интенсивную обработку данных Дипломная работа студента 545 группы.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
Организация программного кода при создании информационных систем Подготовил: Студент группы МЭК-21 Акименко В. И. Руководитель: Доц. Яровенко А. Н.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – валидация, валидационные элементы управления Из цикла.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – директивы Из цикла лекций «Технологии разработки Internet-приложений»
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – оптимизация скорости работы приложений Из цикла лекций.
Лекция 1 MVC (Model-View-Controller) - это конструкционный шаблон, который описывает способ построения структуры приложения, сферы ответственности и взаимодействие.
Транксрипт:

проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET MVC Framework– новая платформа Web-приложений ASP.NET MVC Framework – новая платформа Web-приложений вместо ASP.NET Web-Forms Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета

Схема MVC (Model-View-Controller) Архитектура (шаблон) ASP.NET MVC Framework делит пользовательский интерфейс на три разных объекта: 1.Контроллер получает входные данные (HTTP-запрос) и обрабатывает их; 2.Модель содержит бизнес-логику приложения. В ней находятся классы, которые манипулируют с данными, записывают их в базу… Модель не зависит ни от Представления ни от Контроллера; 3.Представление оформляет полученный результат в HTML-коде вида. Здесь MVC больше похож на классический ASP, чем на ASP.NET. Представления MVC отвечают только за порождение выходных данных. Обработчики событий и сложные элементы управления (как в Web- формах) им попросту ни к чему. Ход обработки запросов для такого шаблона показан на рисунке: Рассматриваемая архитектура подразумевает, что изменения в любом из компонентов оказывают минимальные воздействия на остальные части.

Результат применения MVC Уменьшается зависимость между частями приложения, что увеличивает его гибкость; Появляется возможность разрабатывать тесты для компонентов приложения, т.е. использовать технику разработки через тестирования (Test-Driven Development или сокращенно TDD). Ошибки, при использовании MVC Перегруженный Контроллер Некоторые разработчики ошибочно трактуют Модель только как средство доступа к базе данных. В результате бизнес-логика переходит в Контроллер, что в корне противоречит архитектуре MVC. Стоит помнить, что Модель это не только доступ к данным, но и логика приложения, проверка получаемых от пользователя данных и т. д. В свою очередь, Контроллер – связующее звено между ней, Представлением и пользователем. Перегруженная Модель Другим заблуждением является попытка перенести всю логику в Модель. Подобную ошибку часто можно встретить при разработке Web-приложений. В этом случае Представление стараются превратить в простой шаблон, доступный для редактирования любому верстальщику. При этом логика элементов пользовательского интерфейса из Представлений перемещается в Модель или, иногда, в Контроллер. Данный подход ошибочен с точки зрения архитектуры MVC, т.к. нарушается четкое разделение компонентов: Модель становится зависима от Представления. При правильном подходе, Логика пользовательского интерфейса должна находиться в Представлениях. Но при этом важно корректно разделить ее и бизнес- логику.

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

Создание 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.

Прощайте, Web-формы? Web-формы это хорошо проработанная технология, и Майкрософт будет по-прежнему поддерживать и совершенствовать ее. Есть немало приложений, в которых Web-формы прекрасно работают. К примеру, если при создании приложения, выдающего отчеты по базам данных, использовать Web-формы, то на него уйдет гораздо меньше времени, чем при работе в платформе MVC. Кроме того, Web-формы поддерживают широчайший набор элементов управления со сложной структурой. Когда лучше предпочесть MVC Web-формам? Это во многом зависит от конкретных требований и ваших личных предпочтений. Вам надоело бороться с URL-адресами, добиваясь нужной их формы? Вам нужно средство модульного тестирования интерфейса? И в том, и в другом случае стоит, наверное, обратиться к платформе MVC. Вам приходится отображать большое количество данных, вы используете сложные сетки и деревья? Тогда лучше остановить свой выбор на Web-формах. Со временем платформа MVC, вероятно, догонит Web-формы по уровню сложности элементов управления, но вряд ли когда-то с ней будет так же просто начать работать, как с Web-формами, в которых большинство действий сводится к перетаскиванию элементов. Но между тем, платформа ASP.NET MVC предлагает Web-разработчикам совершенно новый способ создания приложений в Microsoft.NET Framework. В ней есть широкие возможности тестирования, в ней делается упор на HTTP, она отлично масштабируется. Она станет отличным дополнением к Web-формам в том случае, когда разработчику требуется полный контроль над Web-приложением.

Источники Крис Таварес (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 в деталях