ASP.NET MVC Framework
✍ Scribed by Гайдар Магдануров, Владимир Юнев
- Publisher
- БХВ-Петербург
- Year
- 2010
- Tongue
- Russian
- Leaves
- 320
- Series
- Профессиональное программирование : PRO
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
Рассмотрены основные принципы и возможности технологии ASP.NET MVC Framework и показаны способы ее практического использования при разработке веб-приложений. Описаны преимущества подхода разработки MVC и рассмотрена структура MVC-приложения. Приведено сравнение технологии WebForms и MVC Framework и рассмотрены вопросы их совмещения. Описаны модель и доступ к данным (технологии LINQ, Entity Frame-work и др.), контроллеры, представление и интерфейс приложения, механизмы маршрутизации и Ajax-функциональность. Уделено внимание вопросам тестирования веб-приложений. Рассмотрены особенности применения ASP.NET MVC 2 в Visual Studio 2010
✦ Table of Contents
Глава 1
Знакомство с MVC Framework
Паттерн проектирования MVC
История паттерна проектирования MVC
Преимущества подхода разработки MVC
1. Полный контроль над кодом разметки
2. Расширяемость
3. Простота автоматического тестирования
Установка MVC Framework
Первое приложение на MVC Framework
Структура MVC-приложения
Папка Content
Папка Controllers
Папка Models
Папка Scripts
Папка Views
Файл Default.aspx
Файл Global.asax
Файл Web.config
Обработка запросов MVC-приложением
Компоненты MVC-приложения
Таблица маршрутизации
Контроллер
Представление
Подход к разработке MVC-приложений
Заключение
Глава
2
MVC Framework и WebForms
Сравнение WebForms и MVC Framework
Технология WebForms
Преимущества WebForms
Недостатки WebForms
Технология MVC Framework
Преимущества MVC Framework
Недостатки MVC Framework
Выбор подхода к разработке веб-приложения
Реализация подхода MVC в WebForms
Совмещение WebForms и MVC Framework в рамках одного веб-приложения
Использование элементов управления WebForms в MVC-приложениях
Внедрение страниц WebForms в MVC-приложения
Использование MVC Framework в существующих решениях WebForms
Заключение
Глава
3
Модель и доступ к данным
Технология LINQ
LINQ для SQL
Entity Framework
Принципы построения слоя доступа к данным
Возможность замены источника данных
Реализация слоя данных
Пример использования слоя данных
Механизмы для работы с данными
XML-данные
Работа с данными через ADO.NET
LINQ для SQL
Entity Framework
NHibernate
Сравнение механизмов доступа к данным
Рекомендации по выбору механизма доступа к данным
Глава
4
Контроллеры
Назначение контроллеров
Обзор контроллеров в ASP.NET MVC
Простой пример реализации контроллера
Архитектура контроллеров
Порядок вызова архитектурных механизмов
Фабрика контроллеров
Действия, фильтры и атрибуты
Переопределение свойства ActionInvoker
Атрибуты ActionMethodSelectorAttribute
Атрибуты, производные от FilterAttribute
AuthorizeAttribute
HandleErrorAttibute
ValidateAntiForgeryTokenAttribute
ValidateInputAttribute
Атрибуты ActionFilterAttribute и OutputCacheAttribute
Стандартные реализации класса ActionResult
ViewResult
JsonResult
FileResult
RedirectResult и RedirectToRouteResult
ContentResult
EmptyResult
Создание своей реализации ActionResult
Model Binding
Советы по использованию контроллеров
Атрибуты ActionNameSelectorAttribute и ActionNameAttribute
Наследование контроллеров
Асинхронное выполнение при работе с контроллерами
Паттерн IAsyncResult
Паттерн Event
Паттерн Delegate
Дополнительные сведения об асинхронных контроллерах
Неизвестные действия и метод HandleUnknownAction
Глава
5
Представление и интерфейс приложения
Стандартный механизм представлений на базе WebForms
Code-behind-файлы
Мастерские страницы и элементы управления
Файлы представлений в структуре проекта
Данные для отображения и ViewData
Строгая типизация данных представления
Поиск элементов в коллекции ViewData
Генерация разметки представлением
Вложенный управляющий код
<%= значение %>
<% управляющая конструкция %>
Вспомогательные методы
Кодирование текста и атрибутов
Гиперссылки на действия контроллеров
Html.ActionLink()
Html.RouteLink()
Элементы управления HTML-страницы
HTML-форма
Текстовые поля, скрытые поля и кнопки
Элементы-списки
Индикаторы корректности введенных данных
Создание собственного вспомогательного метода
Конкатенация строк
Использование ресурсов
Использование дополнительных слоев абстракции
Использование серверных элементов управления WebForms
Частичные представления
Создание гаджетов
Заключение
Глава
6
Механизмы маршрутизации
Маршрутизация в ASP.NET
Механизмы маршрутизации
Маршрут и класс Route
Коллекция маршрутов и класс RouteCollection
Таблица маршрутизации и класс RouteTable
Ограничения и интерфейс IRouteConstraint
Обработчик маршрутов и интерфейс IRouteHandler
Создание маршрутов
Наименование маршрута
RedirectToRoute
AjaxHelper
UrlHelper
Шаблон маршрута и свойство Url
Значения параметров маршрута по умолчанию и свойство Defaults
Ограничения параметров маршрута и свойство Constraints
Параметры маршрута и свойство DataTokens
Игнорирование маршрутов
Советы по использованию маршрутов
Маршруты и валидация запросов
Хранение маршрутов в базе данных
Маршрутизация и тестирование
Подготовка инструментов
Создание тестов
Утилита ASP.NET Routing Debugger
Заключение
Глава
7
Ajax-функциональность
История успеха Ajax
Современный Ajax
Пример использования Ajax
MVC Framework и Ajax
Ajax-функционал в MVC Framework
AjaxOptions
Ajax.BeginForm
Ajax.ActionLink
IsAjaxRequest
jQuery
Библиотека jQuery
jQuery API
Функции для работы с Ajax
jQuery.ajax
load
jQuery.get и jQuery.post
jQuery.getJSON
jQuery.getScript
jQuery.ajaxSetup
События Ajax в jQuery
Применение Ajax и jQuery в MVC Framework
Пример 1. Проверка логина при регистрации
Реализация на ASP.NET Ajax
Реализация на jQuery
Пример 2. Логин через Ajax
Реализация на ASP.NET Ajax
Реализация на jQuery
Полезные советы
Вопросы безопасности
Обработка пользовательских данных
Управление данными и cookie
Расширения jQuery
Выбор между ASP.NET Ajax и jQuery
Заключение
Глава
8
Тестирование веб-приложений
Установка и настройка NUnit
Создание и выполнение тестов
Несколько слов о важности тестирования
Тесты и MVC Framework
Заключение
Глава
9
ASP.NET MVC 2 и Visual Studio 2010
Области
Области для нескольких проектов
Области в одном проекте
Шаблонные помощники
Шаблоны по умолчанию
Создание шаблонов
Аннотация данных и валидация
Классы метаданных
Новые атрибуты
Http***Attribute и перегрузка типов запросов
DefaultValueAttribute
RequireHttpsAttribute
Улучшения в связывании данных
Прочие улучшения в API
Нововведения Visual Studio 2010
Мультитаргетинг в Visual Studio 2010
Поддержка нескольких мониторов
Сниппеты JavaScript, Html, ASP.NET в Visual Studio 2010
Что дальше?
Заключение
Приложения
Настройка среды для хостинга решений на MVC Framework
Настройка маршрутизации
Оптимизация производительности
Кэширование данных
Сжатие данных
Уменьшение размера передаваемых файлов
Уменьшение JavaScript
Уменьшение CSS
Уменьшение изображений
Другие способы клиентской оптимизации
Уменьшение количества запросов
Отказ от перенаправлений
Использование CSS Sprites
Размер cookie
Заключение
Ресурсы по MVC Framework
Предметный указатель
📜 SIMILAR VOLUMES
Рассмотрены основные принципы и возможности технологии ASP.NET MVC Framework и показаны способы ее практического использования при разработке веб-приложений. Описаны преимущества подхода разработки MVC и рассмотрена структура MVC-приложения. Приведено сравнение технологии WebForms и MVC Framework и
In this book, world-renowned ASP.NET expert and member of the Microsoft ASP.NET team Stephen Walther shows experienced developers how to use Microsoft’s new ASP.NET MVC Framework to build web applications that are more powerful, flexible, testable, manageable, scalable, and extensible. Writing
The ASP.NET MVC framework is the latest evolution of Microsoft’s ASP.NET web platform. It introduces a radical high–productivity programming model, promotes cleaner code architecture, supports test–driven development, and provides powerful extensibility, combined with all the benefits of ASP.NET 3.5
Steven Sanderson has seen the ASP.NET MVC framework mature from the start, so his experience, combined with comprehensive coverage of all its features, including those in the official MVC development toolkit, offers the clearest understanding of how this exciting framework could improve your coding