Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекцій розробка.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
24 Мб
Скачать
☆

1.6. Компонент asp.Net Dynamic Data. Технологія Sllverlight.

Компонент ASP.NET MVC (Model-View-Controller — модель-представление-контрол- лер) предлагает совершенно другой способ для построения веб-страниц по сравнению со стандартной моделью веб-форм. Суть его состоит в разбиении приложения на три отдельных логических части. Модель включает весь бизнес-код приложения, например, логику доступа к данным и правила верификации. Представление создает для модели походящее представление за счет ее визуализации в HTML-страницы. Контроллер координирует весь этот процесс за счет обработки операций взаимодействия с пользователей, обновления модели и передачи информации в представление.

В схеме MVC некоторые традиционные концепции ASP.NET, в том числе веб-формы, веб-элементы управления, состояние представления, обратные отправки и состояние сеанса, отходят на второй план. Это вынуждает разработчиков учиться смотреть на вещи по-другому (и мириться с временным спадом продуктивности). Одним схема MVC кажется более чистой и больше подходящей для веб-приложений. Другие считают, что она заставляет прилагать дополнительные усилия и никакой очевидной выгоды при этом не приносит. Но если хоть какой-нибудь из перечисленных ниже моментов является важным, обязательно стоит рассмотреть вариант применения ASP.NET MVC.

Разработка через тестирование. Благодаря четкому разделению частей в приложении ASP.NET MVC, можно легко создать для него модульные тесты. В случае применения веб-форм автоматизированное тестирование является утомительным и зачастую невозможным.

Контроль над HTML-разметкой. В случае веб-форм программировать приходится с использованием развитого набора объектов, которые сами заботятся об управлении состоянием и генерацией HTML-разметки. В случае ASP.NET MVC содержимое вставляется больше похожим на привязку данных образом. И хотя это означает, что проектирование страниц со сложным форматированием может потребовать больших усилий, это также означает возможность полностью контролировать каждую деталь в разметке. Это очень полезно при планировании написания какого-то клиентского сценария JavaScript либо использования сторонней библиотеки сценариев JavaScript, такой как jQuery. (С другой стороны, если нет желания возиться с HMTL, то веб-формы будут более подходящей платформой для разработки приложений.)

Контроль над URL-адресами. Хотя ASP.NET разработчикам продолжает предлагаться больший контроль над маршрутизацией URL-адресов, в ASP.NET MVC эта концепция является встроенной. За сопоставление URL-адресов и логики приложения отвечают контроллеры, а это значит, что вместо /Products/List. aspx?category=Beverages можно использовать такие конфигурации URL, как /Products/List/Beverages. Такие понятные и удобные для чтения URL-адреса упрощают и делают более эффективной поисковую оптимизацию.

Однако если вы предпочитаете иметь возможность проектировать приложения быстро за счет применения высокоуровневой модели, способной заботиться об управлении состоянием самостоятельно, и набора многофункциональных веб-элементов управления, то моделью разработки по-прежнему остаются веб-формы.

В настоящей книге внимание уделяется в основном веб-формам, т.к. они являются главной моделью в ASP.NET. Дополнительные сведения об этом компоненте можно найти на официальном сайте по адресу http://www.asp.net/mvc, а также в книге Стивена Сандерсона ASP.NET MVC Framework с примерами на C# для профессионалов (ИД “Вильямс”, 2010 г.).

Kомпонент ASP.NET Dynamic Data

Компонент ASP.NET Dynamic Data (Динамические данные ASP.NET) представляет собой вспомогательную платформу, которая позволяет быстро создавать управляемые данными приложения. При использовании в сочетании с LINQ to SQL или LINQ to Entities (как бывает практически всегда) он предоставляет комплексное решение, проводящее от схемы базы данных до полнофункционального веб-приложения с поддержкой для просмотра, редактирования, вставки и удаления записей.

Важно понимать, что Dynamic Data является не просто средством для генерации кода и разметки, облегчающим жизнь разработчикам, которые ленятся разрабатывать собственные специальные приложения. Вместо этого он представляет собой основанную на шаблонах, состоящую из различных компонентов и детально настраиваемую платформу, которая идеально подходит для создания приложений, ориентированных на данные. На самом деле Dynamic Data может рассматриваться как логическое расширение многофункциональных элементов управления данными, которые уже имеются в ASP.NET (наподобие GridView, DetailsView и FormView). Но вместо того, чтобы заставить изменять множество различных элементов управления данными на множестве различных страниц для получения желаемого эффекта, Dynamic Data позволяет использовать шаблоны полей, которые определяются один раз и применяются везде. Если объединить такое чистое проектное решение с новыми средствами, такими как проверка достоверности на основе схемы данных и упрощенная фильтрация на основе отношений внешнего ключа, то станет сразу же понятно, почему Dynamic Data является столь привлекательной платформой для разработки веб-приложений, фокусирующихся на просмотре и редактировании записей в базах данных.

Технология Silverlight

С недавнего времени большой интерес вызывает Silverlight — быстро развивающаяся технология производства Microsoft, которая позволяет разным браузерам в различных операционных системах выполнять код .NET Технология Silverlight работает через подключаемый модуль браузера и снабжает браузер сокращенной версией библиотеки классов .NET Framework. В ее состав входит мини-версия WPF, которой разработчики пользуются для создания пользовательских интерфейсов Windows следующего поколения.

Какую же пользу Silverlight может принести в мире ASP.NET? В Silverlight все концентрируется вокруг клиентского кода: попросту говоря, эта технология позволяет создавать более развитые страницы, чем те, что можно создавать с помощью только HTML, DHTML и JavaScript. Во многих отношениях средства и цели Silverlight напоминают те же, которыми характеризуется Adobe Flash. За счет использования Silverlight внутри веб-страницы можно рисовать сложную двухмерную графику, анимировать сцену, а также воспроизводить видео и другие медиафайлы.

Технология Silverlight идеально подходит для создания мини-аплетов вроде обслуживаемых в браузере игр, а также является хорошим вариантом для добавления анимационных и медиа-эффектов на веб-сайты. Однако для решения задач, требующих участия серверного кода, наподобие выполнения безопасного подсчета стоимости покупок в электронном магазине, проверки вводимых пользователем данных или взаимодействия с находящейся на стороне сервера базой данных Silverlight подходит мало. А поскольку Silverlight все еще является новой развивающейся технологией, делать предположения о степени ее адаптации пока еще рано. Это значит, что заменять на веб-сайте базовые компоненты содержимым Silverlight пока не стоит. Например, хотя с помощью Silverlight можно создать анимированную кнопку, это рискованная стратегия. Пользователи, не имеющие подключаемого модуля Silverlight, не смогут ни видеть эту кнопку, ни взаимодействовать с ней. (Разумеется, для веб-приложения можно предусмотреть несколько пользовательских интерфейсов, один из которых использует Silverlight, если модуль доступен, а другой — обычные элементы управления ASP.NET. Но такой подход требует приложения немалых усилий.)

Во многом Silverlight является дополнительной технологией для ASP.NET. В ASP.NET 4 нет никаких средств, которые бы использовали Silverlight, однако на веб-сайте можно смешивать страницы ASP. NET и Silverlight или размещать содержимое Silverlight в страницах ASP.NET. Не исключено, что когда-нибудь разработчикам станут доступны вебэлементы управления ASP.NET, способные генерировать содержимое Silverlight. Тогда удастся получить преимущества обоих миров — модель программирования ASP.NET серверной стороны и развитые интерактивные возможности Silverlight на стороне клиента. За более подробной информацией о Silverlight обращайтесь к книге Silverlight 3 с примерами на C# для профессионалов (ИД “Вильямс”, 2010 г.).