企业库应用程序块的体系结构图:
![](https://www.cnblogs.com/images/cnblogs_com/xuanfeng/Dependencies.gif)
从上图可以看出,应用程序块都是独立的,它们之间的依懒性是由用户的需求而定的,每个应用程序块都可以独立去使用。但它们每个应用程序块都依懒于企业库的核心。企业库的核心由以下子系统构成:
.包含了Intrumentation的Common的程序集
.Configuration辅助类,设计时进组件,和企业库配置控制台
.ObjectBuilder子系统
以下来简单地描述上面的各个子系统:
Common程序集
企业库中包含的一个叫做Common的程序集。 Common程序集中包含了很多有用基础的功能,这些功能片断处理需要多个程序块才能完成的。Common程序集实现的这些功能减少了各个应用程序块这间的依懒关系。使用了企业库的应用程序都必用引用这个Common程序集。
下面几点是Common程序集中有用基础功能片断所遵守的标准
.它不能依懒于其它的应用程序块。但是它可以依于Common程序集中已存在的其它基础功能片断。
.它不能依懒于任何一个persistent state.(不会表达)
.它不能依懒第三方技术
.它不能是一种特殊的应用程序模型。它必须是可以和其它应用程序模型那用使用。比如说,它可以实现在小型客服机上访问Web服务。
Instrumentation
每个程序块都有Instrumentation.Instrumentation的类型有:
.
. Performance counters
. Event log events
. WMI (Windows Management Instrumentation) events
默认情况下,Instrumentation是不可用的。但是你可以用企业库配置控制台来启用它们。如果你有管理员的权限,你可以用installutil.exe程序来安装Instrumentation.
很多依懒关系都不是必要的,很多功能都各个应用程系块都可以独立去解决。比如说,异常捕捉应用程序块可以用传递(Logging)应用程序块去公布异常信息,但这不是必要的。你可以通过其它渠道来公布异常信息,比如说事件日志,或者你可以拓展异常捕捉应用程序块来实现自己定义的传递提供程序。
Configuration辅助类和设计时组件
在企业库2.0里面,Configuration使用了System.Configuration命名空间。这个技术使我们更容易的去使用有或者是没用使用到配置文件的应用程序块。工厂使用配置文件中信息来创建应用程序块对象。它使能转换为XML文件信息的资源都可能做为应用程序的配置资源。比如说,你可以用SQL Server数据库,你也可以不用配置文件来创建对象,而用最原始的数据类型构造器。
为了实现企业库的可拓展性,Configuration除了System.Configuration namespace 的类成员外,还包含用一些辅助类。这些辅助类提供多态的集合,普通的集合,和配置资源。这些改进和优点,在使用System.Configuration命名空间的情总下,要求,Configuration 基于依懒注入模型而不是提供程序模型。
企业库配置控制台允许你不用通过直接编辑XML配置文件,而通过它进行可视向导式间接地去更改配置信息。这个版本的外观和前个版本的外观上很相似。你可以使用配置控制台所使用的应用程序块(企业库的或者自定义的)的设计时组件,让用户像使用配置控制台一样轻松地去配置配应用程序的信息。
ObjectBuilder 子系统
ObjectBuilder是一个新的子系统,它共亨于Enterprise Library 和the Composite User Interface Application Block这间。企业库使用ObjectBuilder子系统去完成,如把Configuration加入到类对象中和连接Instrumentation类与应用程序块的任务。
参考英文档(本地Documentation)
ms-help://MS.VSCC.v80/MS.VSIPCC.v80/ms.EntLib.2006Jan/EnterpriseLibrary/html/00-03-010-The%20Enterprise%20Library%20Core.htm