Enterprise Library consists of reusable software components that are designed to assist developers with common enterprise development challenges. It includes a collection of application blocks and a set of core features, such as object generation, configuration, and instrumentation mechanisms. This release of the Enterprise Library includes one new application block, the Unity Application Block, which implements a framework that provides object generation and dependency injection capabilities, plus other new features and enhancements.
Different applications have different requirements, and you will not find that every application block is useful in every application that you build. Before using an application block, you should have a good understanding of your application requirements and of the scenarios that the application block is designed to address.
Enterprise Library 4.1 – October 2008 contains the following application blocks:
- Caching Application Block. Developers can use this application block to incorporate a cache in their applications. Pluggable cache providers are supported.
- Cryptography Application Block. Developers can use this application block to incorporate hashing and symmetric encryption in their applications.
- Data Access Application Block. Developers can use this application block to incorporate standard database functionality in their applications.
- Exception Handling Application Block. Developers and policy makers can use this application block to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications.
- Logging Application Block. Developers can use this application block to include standard logging functionality in their applications.
- Policy Injection Application Block. Developers can use this application block to implement interception policies that can be used to streamline the implementation of common features, such as logging, caching, exception handling, and validation, across a system.
- Security Application Block. Developers can use this application block to incorporate authorization and security caching functionality in their applications.
- Unity Application Block. Developers can use this application block as a lightweight and extensible dependency injection container with support for constructor, property, and method call injection, as well as instance and type interception (via an extension).
- Validation Application Block. Developers can use this application block to create validation rules for business objects that can be used across different layers of their applications.
Enterprise Library also includes a set of core functions, including configuration, instrumentation, and object creation. These functions are used by all other application blocks.
Enterprise Library can be useful in a variety of situations:
- Enterprise Library provides enough functionality to support many common scenarios that enterprise-level applications must address.
- Enterprise Library can serve as the basis for a custom library. You can take advantage of the extensibility points incorporated in each application block and extend the application block by supplying new providers. You can also modify the source code for the existing application blocks to incorporate new functionality. You can also add new application blocks to Enterprise Library. You can either develop extensions for existing application blocks and new application blocks yourself, or you can use extensions and application blocks developed by others.
- Enterprise Library is designed so that its application blocks can function independently of each other. You have to add only the application blocks that your application will use; you do not have to add the entire library.
- Enterprise Library includes the source code and the unit tests for all application blocks. This means you can modify the application blocks to merge into your existing library or you can use parts of the Enterprise Library source code in other application blocks or applications that you build.
- Enterprise Library includes documentation, QuickStart samples, and source code. Hands-on-labs and webcasts are posted as separate downloads on the Enterprise Library Home page. This means that you can use the library as a tool for learning architectural, design, and coding best practices.
More : msdn.microsoft.com