前几天,EntLib 团队更新了他们在 CodePlex 的项目发布页面,并对外提供 EntLib 4 CTP 源码、安装脚本的下载。一直以来,EntLib 以其严谨的结构、系统化的面向对象设计和对“纯.NET”方案的支持在很多互联网应用以及企业内部应用中被开发团队用来借鉴和学习,但由于其规模庞大,因此也形成了比较陡峭的学习曲线。
此次发布的 CTP 版本包括如下内容:
- ObjectBuilder / ObjectBuilder 2 (二进制形式)
- Unity / Unity.StaticFactory (二进制形式)
- 缓存——Cache
- 异常处理——ExceptionHandling
- 数据访问——Data
- 日志——Logging
- 策略注入——PolicyInjection
- 安全——Security(包括授权和安全存储机制)
- 加密——Security.Cryptography
- 验证——Validation
另外最值得一提的是对 WMI 2 的支持,在新的 EntLib 4 中,所有的应用代码块的主要工作类型都有自己独立的 WMI 类型对象,运行监控机制可以用类似 SQL 语句的方式直接检索运行组件的性能计数或配置属性情况,例如下面就是用 WQL(WMI Query Language)访问一个测试配置节的示例:
using ( ManagementObjectCollection.ManagementObjectEnumerator resultEnumerator
= new ManagementObjectSearcher (
“root\\enterpriselibrary”, " SELECT * FROM MockConfigurationSectionSetting " )
.Get().GetEnumerator())
{
Assert.IsTrue(resultEnumerator.MoveNext());
Assert.AreEqual(“Foo”, resultEnumerator.Current.Properties[“ApplicationName”].Value);
Assert.AreEqual(“Bar”, resultEnumerator.Current.Properties[“SectionName”].Value);
Assert.IsFalse(resultEnumerator.MoveNext());
}
区别于其他很多提供类似功能的.NET 开源框架,EntLib 的实现一直比较庞大,因此对于项目初期开发团队而言会感到学习曲线过于陡峭,但在项目投入生产环境之后,随着物理层 IT 环境的不断变化以及为了满足用户可用性指标提供的运行监控机制都会令后来的框架越来越向 EntLib 的方向发展,但由于很多企业应用运行机制都是后来“补”齐的,因此会对应用底层框架带来比较大的冲击或令设计比较繁琐。对于类似情况的应用反而不如项目初期就选择具有整体性设计的 EntLib。
评论