4/9/2007 9:25:00 PM

На самом деле релиз состоялся еще 5-го апреля. Тогда (днем) я хотел написать об этом, но домашняя страница проекта еще не была обновлена и я решил подождать. А на следующий день уехал в Нормандию, о чем будет следующий пост :) Поэтому пишу сейчас.

Итак, релиз. Из основных улучшений и новшеств:

- Новые Application Blocks: Validation Application Block и Policy Injection Application Block (немного расскажу ниже)
- Поддержка .NET 3.0 (WPF, WCF)
- Data Access Application Block "научился" поддерживать транзакции и работать с SQL Server Compact Edition
- Некоторые изменения в Exception Handling Application Block и в Logging Application Block.

Коротко о новых блоках.

Valication Application Block позволит разработчику в декларативной форме (с помощью атрибутов или непосредственно в конфигурационном файле) задавать правила валидации свойств объектов. Работает это и в WinForms, и в ASP.NET и в WCF
Блок содержит набор уже готовых правил, таких, как валидация с использованием регулярных выражений, валидация даты (можно, например, задать правило при вводе даты рождения для проверки совершеннолетия пользователя), валидация по значению перечислений, длинны строки, null и т.д. Кроме этого можно создавать свои собственные правила.
Более того, правила можно комбинировать (OR и AND), а так же задавать различные наборы правил для различных контекстов. Так, например, правила валидации для интерфейса пользователя могут быть отличны от правил валидации при сохранении в БД.
Повторюсь, что наборы правил можно задавать с помощью атрибутов, а можно прямо в конфигурационном файле, то есть, без изменения существующего кода.

Policy Injection Application Block - позволяет разработчику контроллировать операции, осуществляемые над объектом. Например, можно задать правило, чтобы при вызове метода Hello класса World происходила запись в лог. Или, перед вызовом проверить какие-то условия (разрешен ли доступ, находимся ли в режиме онлайн и т.д), а после завершения вызова совершить какие-то действия (записать аудит, сбросить кеш и т.д.).
С помощью таких pre- и post- полиси мы можем управлять некоторыми аспектами поведения системы без модификации кода кучи методов (например, без вставки кода записи в лог в начало каждого метода).
В "наборе" блока имеется ряд полезных "хандлеров" (обработчиков):
Exception Handling Handler, Caching Handler, Performance Counter Handler, Validation Handler, Logging Handler, Authorization Handler. Используя эти обработчики можно в декларативной форме задавать правила, которые будут обрабатываться блоком.

В общем об инфраструктуре EL3 можно сказать еще и то, что "конфигуратор" теперь интегрирован в Visual Studio 2005. Не скажу, что это такое уж большое и важное изменение, но все же приятно :)

Осталось добавить только, что EL3 на 100% совместима с EL2, то есть, разработчикам не придется переделывать код при переходе (во всяком случае такое обещано).
Пора начинать использовать :) В дальнейшем я, быть может, напишу еще пару постингов о EL3 в плане конкретного использования в коде.

А пока буду думать о Нормандии :)

Comments are closed

Powered by BlogEngine.NET 2.5.0.6

About the author

Alexey Raga Alexey Raga
.NET software developer.

E-mail me Send mail

Twitter

Widget Twitter not found.

Root element is missing.X


Recent posts

Archive

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2012

Sign in