Asp.net mvc framework
Шрифт:
Значения параметров маршрута по умолчанию и свойство Defaults
Ограничения параметров маршрута и свойство Constraints
Параметры маршрута и свойство DataTokens
Игнорирование маршрутов
Советы по использованию маршрутов
Маршруты и валидация запросов
Хранение маршрутов в базе данных
Маршрутизация и тестирование
Подготовка инструментов
Создание тестов
Утилита ASP.NET Routing Debugger
Заключение
ГЛАВА 7
История успеха 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
Области
Области для нескольких проектов
Области в одном проекте
Шаблонные помощники
Шаблоны по умолчанию
Создание шаблонов
Аннотация данных и валидация
Классы метаданных
Новые атрибуты
Http***Attribute и перегрузка типов запросов
DefauItValueAttribute
RequireHttpsAttribute
Улучшения в связывании данных
Прочие улучшения в API
Нововведения Visual Studio 2010
Мультитаргетинг в Visual Studio 2010
Поддержка нескольких мониторов
Сниппеты JavaScript, Html, ASP.NET в Visual Studio 2010
Что дальше?
Заключение
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1
Настройка маршрутизации
ПРИЛОЖЕНИЕ 2
Кэширование данных
Сжатие данных
Уменьшение размера передаваемых файлов
Уменьшение JavaScript
Уменьшение CSS
Уменьшение изображений
Другие способы клиентской оптимизации
Уменьшение количества запросов
Отказ от перенаправлений
Использование CSS Sprites
Размер cookie
Заключение
ПРИЛОЖЕНИЕ 3
Гайдар Магдануров Владимир Юнев
ASP.NET MVC Framework
Знакомство с MVC Framework
Первая глава книги посвящена знакомству с подходом разработки веб-приложений на платформе ASP.NET с использованием MVC Framework. Поскольку эта книга рассчитана на разработчиков с разным опытом создания программного обеспечения, прежде чем рассматривать подход к разработке веб-приложений на основе MVC Framework, мы поговорим об основных принципах архитектуры MVC. Прочитав эту главу, вы узнаете об основных компонентах MVC Framework и о том, как эти компоненты находят свое отражение в коде приложения.
Если вы уже знакомы в общих чертах с MVC Framework, можете смело пропустить эту главу и перейти к более детальному изучению составляющих MVC Framework в последующих главах.
Паттерн проектирования MVC
Аббревиатура MVC, давшая название MVC Framework, скрывает в себе всю суть архитектурного подхода построения приложений по принципу MVC: модель, представление и контроллер — это те компоненты, из которых состоит каждое приложение, созданное в этой парадигме.
Приложение, построенное с использованием паттерна проектирования MVC, разбивается на три слабосвязанных между собой логических компонента.
? Модель — компонент приложения, отвечающий за взаимодействие с источником данных (база данных, XML-файлы, файловая система и т. п.), а также содержащий описание объектов, описывающих данные, с которыми работает приложение.
? Представление — компонент, отвечающий за отображение пользовательского интерфейса — в случае веб-приложения HTML-разметки или других форматов данных, принимаемых вызывающим клиентом.
? Контроллер — компонент, содержащий логику приложения. В контроллере описана логика взаимодействия с пользователем — в случае веб-приложения логика обработки HTTP-запросов к веб-приложению. Контроллер взаимодействует с объектами модели, которые, в свою очередь, влияют на представление.
Графическое представление архитектуры MVC приведено на рис. 1.1.
Важно отметить слабую связанность компонентов между собой. Компонент модель автономен и не зависит от реализации контроллеров и представлений, его реализация не зависит от реализации остальной части приложений.