64a3f15ae75471660db22ed139cac5f0.ppt
- Количество слайдов: 24
Тренинг «Разработка веб-приложений с использованием ASP. NET MVC Framework» Занятие 1 Знакомство с подходом MVC Гайдар Магдануров Gaidar. Ma@microsoft. com
Знакомство с подходом MVC
Разработка веб-приложений • Простой протокол передачи данных HTTP • Простые стандарты описания интерфейса HTML/CSS • Простой принцип работы «запрос-ответ» • Абстракции для упрощения разработки: – Простые – классические ASP, PHP – Сложные – ASP. NET, JSP – Гибкие – MVC 3
Паттерн Model-View-Controller • Впервые описан в 1979 году – Trygve M. H. Reenskaug/MVC—XEROX PARC 1978 -79 • Предназначен для отделения данных и логики от интерфейса • Реализаций огромное множество: ASP. NET MVC, Maverick. NET, Monorail, Pro. Mesh. NET, Pure. MVC, Mach. II, Model-Glue, Fuse. Box, Aranea, Cocoon, Grails, GWT, Spring, Struts, Stripes, Tapestry, Web. Objects, Wicket, JSF, Sprout. Core, Wawemaker, Dojo, Catalyst, CGI: Application, Solstice, Gantry, Cake. PHP, Joomla, Odin Assemble, Prado, Solar, Zand Framework, Symfony, Django, Pylons, Enthought, Zope, web 2 py, Camping, Merb, Nitro, Ramaze, Ruby on Rails, XForms 4
Паттерн Model-View-Controller Model View Controller • Model (модель) — модель данных • View (представление) – интерфейс • Controller (контроллер)— логика 5
Почему MVC для веб-приложений? • Внешний вид страниц часто изменяется • Иногда нужно несколько вариантов представления одной и той же страницы – Разные браузеры (IE, Fire. Fox, Safari, Opera, . . . ) – Разные платформы (PC, телефон, КПК, . . . ) – Разные модели отображения (графические, текстовые, . . . ) • Тестирование приложения без зависимости от интерфейса значительно проще 6
ASP. NET MVC Framework
ASP. NET MVC Framework • Набор компонентов для создания приложений, основанных на подходе MVC • Статус MVC Framework - Release Candidate 2 – Поддержка Microsoft (включая j. Query) – Исходный код открыт • MVCContrib – Проект сообщества по расширению возможностей MVC Framework 8
Запросы в MVC Framework Браузер /Product/List/2 Сервер /Product/Edit/3 Product. Controller (Controller) View Data 9
Жизненный цикл запроса Запрос Таблица маршрутов Контроллер Ответ (разметка) Представление Действие контроллера 10
Проект MVC Framework 2 Контроллер 3 Модель 4 Представление 1 Таблица маршрутизации 11
ЛАБОРАТОРНАЯ РАБОТА СОЗДАНИЕ MVC ПРИЛОЖЕНИЯ 12
ASP. NET: MVC и Web. Forms? • ASP. NET – платформа, лежащая в основе MVC фреймворка • MVC и Web. Forms – два подхода к созданию веб-приложений на платформе ASP. NET • Возможность выбора – это хорошо! 13
ASP. NET предоставляет инфраструктуру • • • Модель провайдеров Механизмы кеширования Шаблоны страниц Состояние сеансов пользователей Обработчики страниц Управление клиентским кодом Управление данными Контекст запроса и ответа И другое. . . 14
Web Forms • Хранение состояния между обращениями на сервер • Компонентная модель серверных элементов управления • События элементов управления • Широкая поддержка графической и декларативной разработки • Расширяемость «за рамками» сложна 15
MVC Framework • • • Разделение логики и представления Прозрачность обработки запроса Легковесные объекты Простое тестирование Отчуждаемые компоненты Широкие возможности по расширению 16
Процесс разработки с MVC Framework 1. 2. 3. 4. 5. Структуры данных - Модель Структура приложения - Маршрутизация Логика работы - Контроллеры Интерфейс пользователя - Представление Автоматическое тестирование - Счастье 17
Ресурсы
Технологии • Официальный сайт ASP. NET MVC FW – http: //www. asp. net/mvc • Исходный код ASP. NET MVC FW – http: //www. codeplex. com/aspnet • Проект MVCContrib – http: //www. codeplex. com/mvccontrib 19
Инструменты • Visual Studio или Web Developer Express – http: //Visual. Studio 2008. ru – http: //microsoft. com/express/ru/vwd/ • SQL Server или SQL Server Express – http: //microsoft. com/rus/Sql. Server – http: //microsoft. com/express/ru/sql/ • Шаблоны дизайна для MVC сайтов – http: //www. asp. net/mvc/gallery 20
Удобный инсталлятор • Microsoft Web Platform Installer – www. microsoft. com/web/downloads/platform. aspx 21
Литература
Литература • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Design Patterns • Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес - Приемы объектно-ориентированного проектирования. Паттерны проектирования 23
Литература • Judith Bishop - C# 3. 0 Design Patterns • Мартин Фаулер - Рефакторинг. Улучшение существующего кода 24
64a3f15ae75471660db22ed139cac5f0.ppt