Asp.net mvc framework
Шрифт:
Современный 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. Логин
Реализация на 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
ГЛАВА 1
Знакомство с 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.
Важно отметить слабую связанность компонентов между собой. Компонент модель автономен и не зависит от реализации контроллеров и представлений, его реализация не зависит от реализации остальной части приложений.
С точки зрения контроллера и представления модель представляет собой черный ящик, из которого приходят или в которой помещаются определенные объекты. Говоря простым языком, модель предоставляет контроллеру и представлению некоторый контракт, в соответствии с которым все три компонента системы работают с данными в одинаковом формате.
Примечание
Преимущество такого подхода можно продемонстрировать на примере из жизни. В свое время один из авторов книги работал над Windows-приложением для ведения небольшой складской базы. Это приложение было построено на базе Windows Forms, в полной мере подход MVC не использовался, однако в приложении был выделенный автономный компонент для работы с данными — модель. В дальнейшем, когда потребовалось создать веб-приложение для доступа к складской базе данных из внутренней сети и Интернета, сборка, содержащая компонент модель, была подключена к проекту веб-приложения и использовалась совместно с работающим на сервере Windows Forms-приложением. В дальнейшем этой же моделью данных воспользовались веб-службы, которые были разработаны поверх складской базы данных.
***************************************************
Компонент представление отображает состояние объектов модели, которое модифицируется контроллером. Представлению недоступны сведения о внутренней реализации контроллера, а также работа представления не зависит от того, каким образом было модифицировано состояние объектов модели. Задача представления очень проста — отображение актуального состояния объектов модели.