近日，微软模式与实践团队发布了Enterprise Library 4.0的开发计划，最大的变化就是加入了依赖注入，在之前的推荐系列中我也曾经介绍过，暂定名称为DIAB（Dependency Injection Application Block），除此之外主要的变化有：
支持Visual Studio 2008
对Caching Application Block提供了一些扩展
Logging Application Block性能提升
Introducing a lightweight Dependency Injection container (also known as DIAB for now; the name will change) (prioritized uber-stories)
Primary goals: make p&p assets more container-friendly and more easily consumable; stimulate the use of dependency injection for building modular, loosely-coupled apps.
Enterprise Library enhancements to the current application blocks (prioritized stories)
- Provide a reusable dependency injection container with convenient, non-invasive API (incl. support for constructor injection, property injection, method call injection)
- Support imperative configuration of DI container (via API)
- Support declarative configuration of DI container (via config files)
- Solid documentation – leveraging DI container to build loosely-coupled apps and improve their testability and maintainability – not just API docs (including: conceptual overview, quickstart, demos, hands-on labs)
- Enable container hierarchy
- Optimize performance of DI container
- Support imperative configuration extensibility of DI Container
- Support declarative configuration extensibility of DI Container
- Update EL configuration tool (both standalone and VS-integrated) to configure DI Container
- Provide intuitive installers (two packages: DIAB standalone; DIAB integrated with EntLIB; incl. side-by-side scenarios)
- Once refactored, compat-test refactored blocks on other containers (Castle, Spring.NET, etc.)
- Provide a simpler version of the EventBroker (support scenario: I want to use my Web service and to use DI to automatically wire it up when created with logging, exception handling etc.)
Primary goal: make the lives of EntLib users easier.
- Ensure EL compatibility with VS2008 (incl. block factory; backwards compatible with .NET3.0 and VS2005, and support side-by-side scenario).
- Provide extensibility points for Caching Block to allow alternate caching implementations (including distributed cache providers) to be plugged in. The objective here is NOT to replace the ASP.NET caching but to provide more choices.
- Integrate WMI2 Support (pull it out of the core and make both WMI1 and WMI2 available according to the targeted .NET framework (if it's <3.0, it's WMI1; if it's 3.5, it's WMI2)
- Support partially-trusted callers (requires a full security review).
- Improve performance of the Logging Block by optimizing text formatter (lazy formatting in case of the local logger, and eager formatting in case of the remote logger).
- Enhance logging flat file functionality of the Logging Block: roll on period boundaries (with the period inferred from the pattern specified for the logging file).
- Improve documentation on how to avoid configuration pitfalls.
- Provide more descriptive error messages.
- Hands-on Labs: Validation Block, Policy Injection Block, Dependency Injection Block.
- Fix exception formatter when using the indexer.
- Allow to run multiple rulesets in Validation block.
- Refactoring PIAB: allow to control the order of how handlers are applied.
- Caching Block: expiring items when subjected to load.
- PIAB+VAB: Eliminate combining the results of searching attributes and config into an AndCompositeValidator without checking if either of those is null.
- PIAB fix: deal with race conditions in PolicySet.
- VAB: allow copying of existing rules in the config tool.
- LAB: allow finer-grained local filters in the config tool.
- Instrumentation: provide absolute values for performance counters.
- Instrumentation: enable performance counters to work on IIS.
- VAB: include WPF validation.
- VAB: provide a light-weight type picker.
- LAB: provide a way of checking if something was logged or not.
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/12184684/viewspace-531837/，如需转载，请注明出处，否则将追究法律责任。