Тренинг «Разработка веб-приложений с использованием...

24
Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework» Занятие 1 Знакомство с подходом MVC Гайдар Магдануров [email protected]

description

Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework». Занятие 1 Знакомство с подходом MVC Гайдар Магдануров [email protected]. Знакомство с подходом MVC. Разработка веб-приложений. Простой протокол передачи данных HTTP - PowerPoint PPT Presentation

Transcript of Тренинг «Разработка веб-приложений с использованием...

Page 1: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

Тренинг «Разработка веб-приложений с

использованием ASP.NET MVC Framework»

Занятие 1Знакомство с подходом MVC

Гайдар Магдануров [email protected]

Page 2: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

2

Знакомство с подходом MVC

Page 3: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

3

Разработка веб-приложений

• Простой протокол передачи данных HTTP• Простые стандарты описания интерфейса

HTML/CSS• Простой принцип работы «запрос-ответ»

• Абстракции для упрощения разработки:– Простые – классические ASP, PHP– Сложные – ASP.NET, JSP– Гибкие – MVC

Page 4: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

Паттерн Model-View-Controller• Впервые описан в 1979 году

– Trygve M. H. Reenskaug/MVC—XEROX PARC 1978-79

• Предназначен для отделения данных и логики от интерфейса

• Реализаций огромное множество:ASP.NET MVC, Maverick.NET, Monorail, ProMesh.NET, PureMVC, Mach-II, Model-Glue, FuseBox, Aranea, Cocoon, Grails, GWT, Spring, Struts, Stripes, Tapestry, WebObjects, Wicket, JSF, SproutCore, Wawemaker, Dojo, Catalyst, CGI:Application, Solstice, Gantry, CakePHP, Joomla, Odin Assemble, Prado, Solar, Zand Framework, Symfony, Django, Pylons, Enthought, Zope, web2py, Camping, Merb, Nitro, Ramaze, Ruby on Rails, XForms

Page 5: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

5

Паттерн Model-View-Controller

• Model (модель) — модель данных• View (представление) – интерфейс• Controller (контроллер)— логика

Model

View Controller

Page 6: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

6

Почему MVC для веб-приложений?

• Внешний вид страниц часто изменяется• Иногда нужно несколько вариантов

представления одной и той же страницы– Разные браузеры (IE, FireFox, Safari, Opera, ...)– Разные платформы (PC, телефон, КПК, ...)– Разные модели отображения (графические,

текстовые, ...)• Тестирование приложения без зависимости

от интерфейса значительно проще

Page 7: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

7

ASP.NET MVC Framework

Page 8: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

8

ASP.NET MVC Framework

• Набор компонентов для создания приложений, основанных на подходе MVC

• Статус MVC Framework - Release Candidate 2– Поддержка Microsoft (включая jQuery)– Исходный код открыт

• MVCContrib– Проект сообщества по расширению

возможностей MVC Framework

Page 9: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

Запросы в MVC Framework

Браузер СерверСервер/Product/List/2

ProductController(Controller)

ProductController(Controller)

/Product/Edit/3

ViewDataViewData

Page 10: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

10

Жизненный цикл запроса

Page 11: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

Проект MVC Framework

1

2

3

4

Таблица маршрутизации

Контроллер

Модель

Представление

Page 12: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

12

СОЗДАНИЕ MVC ПРИЛОЖЕНИЯЛАБОРАТОРНАЯ РАБОТА

Page 13: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

13

ASP.NET: MVC и WebForms?

• ASP.NET – платформа, лежащая в основе MVC фреймворка

• MVC и WebForms – два подхода к созданию веб-приложений на платформе ASP.NET

• Возможность выбора – это хорошо!

Page 14: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

14

ASP.NET предоставляет инфраструктуру

• Модель провайдеров• Механизмы кеширования• Шаблоны страниц• Состояние сеансов пользователей• Обработчики страниц• Управление клиентским кодом• Управление данными• Контекст запроса и ответа• И другое...

Page 15: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

15

Web Forms

• Хранение состояния между обращениями на сервер

• Компонентная модель серверных элементов управления

• События элементов управления• Широкая поддержка графической и

декларативной разработки• Расширяемость «за рамками» сложна

Page 16: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

16

MVC Framework

• Разделение логики и представления• Прозрачность обработки запроса• Легковесные объекты• Простое тестирование• Отчуждаемые компоненты• Широкие возможности по расширению

Page 17: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

Процесс разработки с MVC Framework

1. Структуры данных - Модель2. Структура приложения - Маршрутизация3. Логика работы - Контроллеры4. Интерфейс пользователя - Представление5. Автоматическое тестирование - Счастье

Page 18: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

18

Ресурсы

Page 19: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

19

Технологии

• Официальный сайт ASP.NET MVC FW– http://www.asp.net/mvc

• Исходный код ASP.NET MVC FW– http://www.codeplex.com/aspnet

• Проект MVCContrib– http://www.codeplex.com/mvccontrib

Page 20: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

20

Инструменты

• Visual Studio или Web Developer Express– http://VisualStudio2008.ru– http://microsoft.com/express/ru/vwd/

• SQL Server или SQL Server Express– http://microsoft.com/rus/SqlServer– http://microsoft.com/express/ru/sql/

• Шаблоны дизайна для MVC сайтов– http://www.asp.net/mvc/gallery

Page 21: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

21

Удобный инсталлятор

• Microsoft Web Platform Installer– www.microsoft.com/web/downloads/platform.aspx

Page 22: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

22

Литература

Page 23: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

23

Литература

• Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - Design Patterns

• Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес - Приемы объектно-ориентированного проектирования. Паттерны проектирования

Page 24: Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework»

24

Литература

• Judith Bishop - C# 3.0 Design Patterns

• Мартин Фаулер - Рефакторинг. Улучшение существующего кода