BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Enterprise Library 4.0 CTP发布

| 作者 王翔 关注 0 他的粉丝 发布于 2008年4月8日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!
前几天,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。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT