Enterprise Library (EntLib for short) has become a standard for developing business applications in .Net. EntLib was initially released in Jan 2005 and combined a bunch of Application Blocks. Application Blocks were chunks of reusable code that helped developers accomlish common aspects of an application design such as database access, caching, security, and logging, without rewriting it for every application. By using the application blocks and EntLib, your apps have a well tested infrastructure for those common aspects.
EntLib evolved from v1 to v4 with an update approximatly one per year. Version 1.0 has been deprecated, Version 2.0 was rewriten to leverage .NET 2.0 framework. For example the Configuration Application Block went away and instead EntLib 2.0 uses the native .NET 2.0 Framework configuration functionality. Version 3.1 added the Validation Application Block and the Policy Injection Application Block and was released a year ago and was targeted for .NET 2.0 or .NET 3.0 (.NET 3.0 is required for the WCF functionality).
Here is a table of EntLib evolution:
|Ent Lib Version||.NET Version||Visual Studio||New Features|
|EntLib 1.0 – Jan 2005||.NET 1.1||VS 2003||bundled application blocks (Data Access, Caching, Exception Handling, Logging, Security, Crypto, Config)|
|EntLib 2.0 – Jan 2006||.NET 2.0||VS 2005||Config app block goes away (leverages .NET 2.0 Framework config), mostly internal changes|
|EntLib 3.1 – May 2007||.NET 2.0 or 3.0||VS 2005||Validation Block, Policy Injection Block, improvements to Data Access, etc…|
|EntLib 4.0 – May 2008||.NET 3.5||VS 2008||Unity App Block, WMI 2.0 support, pluggable Cache Manager|
What’s new in EntLib 4?
What’s different about this release? For starters v4 requires .NET 3.5 which means you will be using Visual Studio 2008. Also, v4 now integrates the Unity Application Block (Unity). Unity supports two key design patterns: Dependency Injection (DI) and Inversion of Control (IoC) . This can help application architects and designers implement loosly coupled dependencies which simplifies application code.
Mike Walker blogged about this release also. He has links to hands on labs, etc…
Of course the best source for more information about this release is the MSDN Patterns & Practices site for EntLib 4.0.