Top Banner
Разработка web-приложений на платформе ASP.NET MVC Денис Чекушин Разработчик (С#, SQL), специалист по разработке корпоративных web-приложений 17 октября 2012 года
27

Разработка web-приложений на платформе ASP.NET MVC

Jun 15, 2015

Download

Documents

CUSTIS

Открытый семинар для студентов в компании CUSTIS (17 октября 2012).

Лектор: Денис Чекушин, разработчик (С#, SQL), специалист по разработке корпоративных web-приложений.

Аннотация: Семинар будет посвящен паттернам проектирования MVC и основам тестирования web-приложений. Будет проведен обзор платформы ASP.NET MVC и освещены ее ключевые особенности (расширяемость, маршрутизация, отсутствие сохранения состояния страницы), а также рассмотрен движок представлений в ASP.NET MVC.

Видеозапись семинара: https://vimeo.com/53412843/
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Разработка web-приложений на платформе ASP.NET MVC

Разработка web-приложений на платформе ASP.NET MVC

Денис Чекушин Разработчик (С#, SQL), специалист по разработке корпоративных web-приложений

17 октября 2012 года

Page 2: Разработка web-приложений на платформе ASP.NET MVC

Программа семинара Знакомство с ASP.NET MVC 3

Паттерн MVC

Компоненты ASP.NET MVC 3

Движок представления Razor

Работа с данными и модели

Маршрутизация

Тестирование web-приложения

2/27

Page 3: Разработка web-приложений на платформе ASP.NET MVC

Стек технологий ASP.NET

Caching

Modules

Handlers Intrinsics

Pages

Controls

Globalization

Profile

Master Pages

Membership Roles

Etc.

ASP.NET Core

3/27

Page 4: Разработка web-приложений на платформе ASP.NET MVC

Стек технологий ASP.NET

Visual Studio 2010 WebMatrix

ASP.NET Web Forms

ASP.NET MVC

ASP.NET Web Pages

Web Forms View Engine Razor View Engine

4/27 Caching

Modules

Pages

Controls

Globalization

Master Pages

ASP.NET Core

Page 5: Разработка web-приложений на платформе ASP.NET MVC

Паттерн проектирования MVC MVC = Model, View, Controller

View Controller

Model

5/27

Page 6: Разработка web-приложений на платформе ASP.NET MVC

Принцип работы MVC в интернете

request

response

Controller Model works

View

View Model

6/27

Page 7: Разработка web-приложений на платформе ASP.NET MVC

Компоненты ASP.NET MVC 3

View Controller

Model

• Razor • Хелперы • Частичные

представления

• Аннотация данных • Модели данных • Модели представления

• Фильтры действий • Глобальные

фильтры

7/27

Page 8: Разработка web-приложений на платформе ASP.NET MVC

Движок представления Razor

8/27

Page 9: Разработка web-приложений на платформе ASP.NET MVC

Web Forms и Razor

9/27

Page 10: Разработка web-приложений на платформе ASP.NET MVC

Синтаксис Razor ASPX Описание

@exp <%: exp %> Вывод текста на страницу

@(exp) <%: exp %> Явное выражение

@{ str; } <%: str; %> Включение кода

@* Комментарий * <%-- Комментарий --%> Комментарий к блоку кода

@if (a > b) { stm; } else { stms; }

<% if (a > b) { stm; } else { stms; } %>

Выполнение условных операторов

10/27

Page 11: Разработка web-приложений на платформе ASP.NET MVC

Код С# в HTML-разметке

Строка текста:

HTML-блок:

Текстовое поле:

11/27

Page 12: Разработка web-приложений на платформе ASP.NET MVC

Шаблоны страниц (Layout)

Шаблон страницы Страница

request response

12/27

Page 13: Разработка web-приложений на платформе ASP.NET MVC

Синтаксис шаблонов

13/27

Page 14: Разработка web-приложений на платформе ASP.NET MVC

Повторное использование разметки

/Shared/_Footer.cshtml

14/27

Page 15: Разработка web-приложений на платформе ASP.NET MVC

Декларативные HTML-хелперы

15/27

Page 16: Разработка web-приложений на платформе ASP.NET MVC

Контроллер

16/27

Page 17: Разработка web-приложений на платформе ASP.NET MVC

Фильтры действий

17/27

Page 18: Разработка web-приложений на платформе ASP.NET MVC

Полезные фильтры действий Authorize

HandleError

HttpGet / HttpPost

OutputCache

18/27

Page 19: Разработка web-приложений на платформе ASP.NET MVC

Настраиваемые фильтры

19/27

Page 20: Разработка web-приложений на платформе ASP.NET MVC

Глобальные фильтры

20/27

Page 21: Разработка web-приложений на платформе ASP.NET MVC

Mодели Модели данных Используются для работы с данными Сохраняются и восстанавливаются

Модели представления Используются для передачи данных представлению Могут включать модели данных Могут содержать преобразованные данные из моделей

данных

21/27

Page 22: Разработка web-приложений на платформе ASP.NET MVC

Модели представления

response

AccountModels.cs LogOn.cshtml

22/27

Page 23: Разработка web-приложений на платформе ASP.NET MVC

Маршрутизация ASP.NET MVC http://my.site.com/home/index/3

23/27

Page 24: Разработка web-приложений на платформе ASP.NET MVC

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

http://my.site.com/home/index/3 — будет вызван метод: HomeController.Index(3)

24/27

Page 25: Разработка web-приложений на платформе ASP.NET MVC

Тестирование Модели – unit-тесты

Контроллеры – unit-тесты

Роуты – unit-тесты

Представления – функциональные тесты (Selenium и т. д.)

25/27

Page 26: Разработка web-приложений на платформе ASP.NET MVC

Тестирование контроллера

26/27

Page 27: Разработка web-приложений на платформе ASP.NET MVC

Спасибо! Вопросы?

Денис Чекушин [email protected]

27/27