Friday, April 30, 2010

Enterprise Library 5.0 Released

Enterprise Library 5.0 is available on MSDN for download. Enterprise Library is made up of a series of application blocks, each aimed at managing specific crosscutting concerns. In case this word is unfamiliar, crosscutting concerns are those annoying tasks that you need to accomplish in several places in your application, and where there is a risk that you may end up implementing slightly different specific solutions at each location (or just forgetting it altogether). Some good examples of this are writing entries to a system log file or Windows Event Log, caching data, and validating user input. While there are several approaches to managing your crosscutting concerns, the Enterprise Library application blocks make it a whole lot easier by providing generic and configurable functionality that you can centralize and manage.
As well as the application blocks, Enterprise Library contains configuration tools, plus a set of core functions that manage tasks applicable to all of the blocks. Some of these functions are exposed and available for you to use in your own applications—for example, routines for handling configuration and serialization.
What’s new in 5.0?
·         Major architectural refactoring that provides improved testability and maintainability through full support of the dependency injection style of development
·         Dependency injection container independence (Unity ships with Enterprise Library, but you can replace it with a container of your choice)
·         Programmatic configuration support, including a fluent configuration interface and an XSD schema to enable IntelliSense
·         Redesign of the configuration tool to provide:
o   A more usable and intuitive look and feel
o   Extensibility improvements through meta-data driven configuration visualizations that replace the requirement to write design time code
o   A wizard framework that can help to simplify complex configuration tasks
·         Data accessors for more intuitive processing of data query results
·         Asynchronous data access support
·         Honoring validation attributes between Validation Application Block and DataAnnotations
·         Integration with Windows Presentation Foundation (WPF) validation mechanisms
·         Support for complex configuration scenarios, including additive merge from multiple configuration sources and hierarchical merge
·         Optimized cache scavenging
·         Better performance when logging
·         A reduction of the number of assemblies
·         Support for the .NET 4.0 Framework and integration with Microsoft Visual Studio 2010
·         Improvements to Unity