3.1 Enterprise Library 内核
转载请注明出处:http://blog.csdn.net/doriandeng/archive/2007/09/29/1806733.aspx
图3.1说明了组成 Enterprise Library 的应用程序块之间的依赖关系
所有的应用程序块都被设计为只有很少的依赖,这样他们就可以单独与其他的应用程序块一起使用,所有应用程序块都依赖于 Enterprise Library 内核,它是由以下子系统组成的逻辑组:
-
Common 程序集,包括度量工具
-
配置辅助类、设计时组件和 Enterprise Library 配置控制台
-
ObjectBuilder 子系统
下面章节描述了这些子系统。
Common 程序集
Enterprise Library 包含了一个名为 Common 的程序集,它包含由多个应用程序集共享的有用元素,任何使用 Enterprise Library 应用程序块的应用程序都必须引用此程序集。为了为所有应用程序块提供一个通用功能集,Common 程序集减少了各程序集间的依赖。
下面是一些用到 Common 程序集中因素的标准:
-
元素不依赖于其他应用程序块。然而,它们依赖于在 Common 程序集中的其他元素。
-
元素不依赖于任何持久化的状态。
-
元素不依赖于任何第三方技术。
-
元素没有暗示特定的应用模型,它们在任何应用模型中被同等使用。例如,元素在智能客户端和 Web 服务中呈现同样的功能。
度量仪(Instrumentation)
每个应用程序块都有度量仪。下面是度量仪的类型:
-
性能记数器
-
事件日志事件
-
WMI(Windows 管理度量仪)事件
度量仪(Instrumentation) 类是 Enterprise Library 内核的一部分,并放置在 Common 程序集中。可以在应用程序中重复使用此代码。
默认情况下,度量仪是不可用的,但可以使用 Enterprise Library 配置控制台启用每种度量类型。如果有管理权限,也可以使用 Installutil.exe
程序来安装度量仪。
绝大多数的依赖都封装到了单独的提供程序中。例如,异常处理应用程序块可以使用日志应用程序块来发布异常信息,但这不是必要的。可以选择发布异常信息到其他源中,如事件日志,或者提供自己的日志提供程序来扩展异常处理应用程序块。
配置 Helper 类和设计时组件
配置使用 System.Configuration命名空间,这使易于带配置文件或不带配置文件使用应用程序块。工厂从包含在配置文件中的数据创建应用程序块对象。可以使用可选的别的而不仅是 XML 配置文件做为配置源。例如,可以使用SQL Server 数据库。也可以使用带原始数据类型的构造函数而不使用配置文件来创建对象。
为了支持在 Enterprise Library 的扩展性,配置包括了除在 System.Configuration 命名空间中的那些类以外的 helper 类。这些类型支持多态集合、泛型集合和配置源。这些增强需要基于依赖注入模式而不是提供者模式的配置,就如在 System.Configuration 中的情况。
配置控制台允许修改应用程序块的配置而不用直接编辑 XML 配置文件,当前发行与早期发行的表现类似。可以使用设计时组件,组件被配置控制台与应用程序和创建的应用程序块一起使用,这将给用户配置控制台使用的相似的经验。
ObjectBuilder 子系统
ObjectBuilder
是一个在 Enterprise Library 和组合用户接口应用程序块之间共享的子系统。Enterprise Library 将 ObjectBuilder
子系统用于如注射配置到程序块类中以及连接度量类到应用程序块等任务。