Enterprise Library简介

Enterprise Library 4.0 – May 2008是Microsoft patterns & practices Enterprise Library的新的版本,Enterprise Library有一系列的应用程序块及一个核心的特性(诸如对象创建、配置文件机制)组成,所有的这些都是可重用的组件,他们被设计来帮助开发人员应对常见的企业开发所面临的挑战,4.0这个版本还添加了一个新的应用程序块- Unity Application Block,这个新的应用程序块为对象产生和依赖注入提供了容器,除此以外4.0还添加了一些其他的新特性。

Enterprise Library的优势

应用程序块帮助开发者解决从一个解决方案到另一个解决方案迁移时所面临的各种通用问题,他们与微软推荐使用的.NET平台能够很好的结合,开发人员可以快速和容易的将他们加入到.NET的应用程序中去,例如:数据访问应用程序块提供了快速使用ADO.NET特性的方法。在某些情况下,应用程序块也通过支持基础类库间接的添加了描述性的功能。

Enterprise Library的目标

Enterprise Library是一系列应用程序块和特定服务的集合,它为开发人员开发综合运用和企业级应用程序提供了有效的解决方案,这些应用程序需要大量的配置和与其他的应用程序或系统相互依赖,另外,这些应用程序通常需要高效、安全、稳定的运行,此时Enterprise Library就是你的应用程序的一个不错的选择。

具体来说,Enterprise Library的目标如下:

一致性:所有的Enterprise Library应用程序块都采用一致的设计模式和执行方式

扩展性:所有的应用程序块都包含了可扩展的接口,它允许开发人员通过添加他们自己的代码来自定义行为。

易用性:Enterprise Library提供了许多易用性的改进,包括了图形化的配置工具,更加简单的安装过程和更加清楚和完整的文档与源代码。

良好的结合:Enterprise Library的各种应用程序块可以很好的在一起工作,当然也允许使用单个的应用程序块。

关于这个版本的Enterprise Library

这个版本的Enterprise Library包含了一个新的应用程序块(The Unity Application Block).Unity是一个轻量级的、可扩展的依赖注入容器,容器靠使用构造器、属性和方法的方式来实现注入,你可以单独的使用Unity而不需要安装Enterprise Library,Unity为Enterprise Library的对象产生提供了一种新的方式。

在已有的应用程序块中也添加进了一些新的功能,下面的部分将讨论这些功能和就早期版本的改变,另外,这个版本也很好的与VS2008、WMI2.0、.NET3.5兼容。

这个话题包含了下面的一些内容:

这个版本的内容

Unity Application Block的集成

改变对应用程序块的影响

缓存应用程序块的改进

加密应用程序块的改进

数据访问应用程序块的改进

异常处理应用程序块的改进

日志应用程序块的改进

策略注入应用程序块的改进

安全应用程序块的改进

验证应用程序块的改进

1.这个版本的内容

这个Enterprise Library4.0版本的内容如下:

二进制:Enterprise Library4.0对所有的代码进行了预编译和强命名,更多信息参见:Using the Signed Binary Assemblies

源代码:Enterprise Library4.0包含了所有应用程序块的源代码、配置工具、单元测试和快速入门的实例

单元测试:Enterprise Library4.0可以在应用程序块被开发的时候建立单元测试,更多信息参见:Unit Tests

快速入门实例:快速入门实例是简单的容易理解的说明了应用程序块的特性,每一个应用程序块都包含了一个或者多个快速使用实例。

文档:Enterprise Library包含了可以被Visual Studio Help系统查看的文档,这个文档包含了怎样去使用Enterprise Library的指南。

下面的两个部分已经从Enterprise Library4.0中被移除:

软件工厂应用程序块

强命名指南

上面的两者适用于Enterprise Library以外的许多情况,因此,它可以从Enterprise Library以外的地方被下载和安装,要下载他们可参见:patterns & practices community site on CodePlex.

要获得Enterprise Library的应用程序块、配置和其他工具、核心特性,可以参见Contents of Enterprise Library in the Getting Started section of this guidance.

 2. Unity Application Block的集成

在Enterprise Library4.0中,你能够使用Unity Application Block去创建Enterprise Library的对象,和注入对象到其他的其他的对象当中,Enterprise Library包含了一个设置类,它允许你获取定义在Enterprise Library configuration中的对象,诸如SqlDatabase或者CacheManager的实例。

使用Unity依赖注入的容器可以简化你的代码,更多信息参见: Creating Objects Using the Unity Application Block

3.改进对应用程序块带来的影响

Enterprise Library4.0优化了对.NET WMI2.0API的支持,它优化了性能,使代码更易于管理,Enterprise Library内置的类,诸如databases, trace listeners, and cache backing stores很容易的被曝露与WMI,你能够很容易的请求和更新它,如果你有权限去更新WMI的值,那么你就能使这些类反射回易于管理的配置代码中以更新配置信息来更新你的应用程序,版本的改变没有对原有的配置文件内容有影响,但一些可能采用组策略的方式被重写了。

Enterprise Library4.0允许在所有assemblies上使用APTCA,这意味你能够在部分授权的情况下从一个正在运行的应用程序中调用Enterprise Library的方法和应用程序块。

 4.缓存应用程序块的改进

应用程序块已经被托管,如果需要的话,开发人员可以使用他们自己方法去替换CacheManager类,这对应用程序块的API和现有的CacheManager不会有影响,开发人员可以使用配置工具去安装和配置一个自定义的cache管理器,这个自定义的类需要实现ICacheManager接口,并且在类定义上添加下面所示的属性:[ConfigurationElementType(typeof(CustomCacheManagerData))]

应用程序块添加了几个新的应用程序块性能计数器,你可以使用它去监视执行和操作

5.加密应用程序块的改进

应用程序块添加了几个新的应用程序块性能计数器,你可以使用它去监视执行和操作

 6.数据访问应用程序块的改进

应用程序块添加了几个新的应用程序块性能计数器,你可以使用它去监视执行和操作

 7.异常处理应用程序块的改进

日志管理器有了一个新的Boolean类型的属性UserDefaultLogger,当被设置为True时,日志管理器会将每一个日志事件与异常写入同一个文件当中,当被设置为False时,日志事件和异常会被写入到不同的文件中去。

应用程序块添加了几个新的应用程序块性能计数器,你可以使用它去监视执行和操作

 8.日志应用程序块的改进

  • 应用程序块现在运行你去获取每一个监听器的过滤器属性的值,这个属性可以将它所监听到的消息分级处理,这个属性的有效的值有:All、Off、Critical(危急的)、Error、Warning、Information、Verbose、Activity Tracing。
  • 应用程序块现在运行你去获取RollingFlatFileTraceListener它可以在每天半夜的时候启动一个新的文件,为了实现这个行为,你可以设置RollingFlatFileTraceListener的属性RollInterval的值为Midnight。
  • 日志文件现在可以支持使用环境变量的的命名,the Flat File Trace Listener, Rolling Flat File Trace Listener, 和 XML Trace Listener的Filename属性值,你可以使用环境变量来赋值,例如:%WINDIR%, %TEMP%, 和 %USERPROFILE%
  • 应用程序块添加了几个新的应用程序块性能计数器,你可以使用它去监视执行和操作

 9.策略注入应用程序块的改进

当你使用验证处理的时候,你可以使用Object Validator去验证方法里面的单个参数,代码如下所示:

[ValidationCallHandler]

public void SomeMethod(

[RegexValidator("...")] String x,

[ObjectValidator("RulesetName")] String y)

{

...

}

现在所有的应用程序块都提供了一个叫Order的属性,你可以使用它去获取在一系列策略处理过程中的处理顺序,默认情况下为0,这意味着没有在一系列策略处理过程中的各个处理过程没有先后顺序,要指定顺序,你可以为每一个处理设置Order属性,属性值从1开始,如果你为在同一个策略中的不容处理设置了同样的Order属性值,应用程序块将添加他们到策略处理系列中。

10. 安全应用程序块的该进

  • 应用程序块添加了几个新的应用程序块性能计数器,你可以使用它去监视执行和操作

11.  Changes to the Validation Application Block

验证应用程序块的改进

可以使用多种方式来设置验证对象,Validation的验证方法现在接受多种规则设置名称:这意味着你可以设置不止一种的验证方式,例如,如果你有两个验证规则RuleSetA和RuleSetB在应用程序块的配置文件中被定义,那么你可以使用下面的方式来接受两种验证规则:

ValidationResults results = customerValidator.Validate(myCustomer, "RuleSetA", "RuleSetB");

Object Validator将验证规则作为一个参数接收,在你需要接受一个参数来验证的时候,这往往是非常有用的。代码如下所示:

public void SomeMethod(

[RegexValidator("...")] String x,

[ObjectValidator("RulesetName")] String y)

{

...

}

目标对象

This guidance is intended for software architects and software developers. To get the most benefit from this guidance, you should have an understanding of the following technologies:

  • Microsoft Visual C# or Microsoft Visual Basic .NET
  • Microsoft .NET Framework

这些文章提供给软件设计书和开发人员,为了更好的理解,你需要对一下的知识有一定的了解:

  • Microsoft Visual C# or Microsoft Visual Basic .NET
  • Microsoft .NET Framework

系统要求

除了Unity应用程序块、Enterprise Library核心特性和配置工具以外,最低的系统要求如下:

  • Microsoft Windows XP Professional, Windows Server 2003, Windows Server 2008, or Windows Vista操作系统
  • Microsoft .NET Framework 3.5或更高版本
  • Microsoft Visual Studio 2008 development system (any of the following editions):
    • Standard Edition版本
    • Professional Edition版本
    • Team Edition for Software Developers版本
    • Team Edition for Software Testers版本
    • Team Edition for Software Architects版本
    • Team Suite版本

转载于:https://www.cnblogs.com/bravechen/archive/2008/11/26/1341704.html

Enterprise Library 4.0简介及改进相关推荐

  1. Enterprise Library 5.0 开发向导- 简介(1)

    Enterprise Library 5.0 开发向导- 简介(1) 微软企业库 Enterprise Library 5.0 正式发布!!! 在基于微软.NET 框架开发的应用程序中,无论是企业级的 ...

  2. Microsoft Enterprise Library 简介与请大家下载Microsoft Enterprise Library 5.0体验微软最新技术应用于企业信息平台

    什么是Enterprise Library     Enterprise Library是一组应用程序块(Application Block)的集合.他们是可重用的软件组件,被设计用来帮助开发者面对常 ...

  3. Enterprise Library 3.0 体验(3):使用配置文件的Validation Application Block

    摘要:Enterprise Library 3.0 January 2007 CTP版发布了,这次发布的版对于Validation Application Block有了很大的改进,包括对配置工具的支 ...

  4. Enterprise Library 4.0

    微软发布了支持Visual Studio 2008的新版本Enterprise Library 4.0,同时也发布了他们的依赖注入容器Unity应用程序块的1.1版本. 模式与实践团队的产品经理Gri ...

  5. Enterprise Library v5.0 -- Data Access Application Block 开发向导(3)

    微软企业库 Enterprise Library 5.0 正式发布!!! Enterprise Library 5.0 开发向导- 简介(1) Enterprise Library v5.0 -- D ...

  6. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...

  7. Enterprise Library 2.0 技巧(3):记录ASP.NET站点中未处理的异常

    这篇文章不能算是Enterprise Library 2.0的一个技巧,只是Logging Application Block的一个简单应用而已,在这里我们使用Logging Application ...

  8. Microsoft Enterprise Library 4.0 for Visual Studio 2008

    Microsoft Enterprise Library 4.0 for Visual Studio 2008已经发布,可以下载看看 转载于:https://www.cnblogs.com/rover ...

  9. Enterprise Library 3.0 安装过程

    微软刚刚发布Enterprise Library 3.0,其更新程度非常大,功能非常强大.  3.0的安装过程却非常复杂,下面是安装过程记录,希望对应用Entlib3.0的人有所借鉴. 相关的介绍资源 ...

最新文章

  1. IDEA控制台输出中文乱码日志文件正常
  2. .NET面试题解析(02)-拆箱与装箱
  3. it行业中sa与ba的区别_在钢铁行业中除尘器有什么区别?
  4. 试题8 算法训练 P0103(从键盘输入一个大写字母,要求改用小写字母输出。)
  5. bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(暴力DFS)
  6. JavaScript自学笔记 第5次
  7. 大数据项目实训教学解决方案
  8. 单龙芯3A3000-7A1000PMON研究学习-(4)撸起袖子干-makefile(a)
  9. MacOS 连接网络打印机后一直不能打印
  10. JavaWeb项目上云教程(Java项目在腾讯云上部署操作教程)
  11. 如何使用 AVIF 图片格式
  12. 开源免费的私有聊天软件 Akaxin
  13. win7左上角白杠一直闪_win10换win7
  14. 计算机毕业设计(附源码)python幼儿园管理系统
  15. 【游戏中的算法】取火柴游戏算法
  16. firefox 配置
  17. 163邮箱注册,163邮箱申请方法
  18. RRDTool 中文手册-简易入门
  19. Javascript实现数字转中文大写
  20. 单元测试cpp:Stub

热门文章

  1. 如何快速对接大量的精准客户呢?
  2. 为什么说干实业的玩不过干金融的?
  3. 怎样能让电脑干干净净的没有各种弹窗广告?
  4. sql server死锁_如何解决SQL Server中的死锁
  5. azure api 管理_通过成本管理跟踪Azure成本
  6. azure blob_从Azure Databricks访问Azure Blob存储
  7. 如何将链接的服务器从SQL Server“调试”到Oracle数据库实例
  8. sql 时态表的意义_在SQL Server 2016中拉伸时态历史记录表
  9. Git部署远程仓库至github
  10. hdu1212(大数取模)