Enterprise LibraryV1.0-概述
看到不少EL的文档,也来凑凑热闹。
Enterprise LibraryV1.0中的7个应用程序块的使用说明我已全部写完,现在逐步贴上来。
概述
Enterprise Library是微软Patterns & Practices 项目组 推出的公共模块解决方案,用来解决我们在企业级开发中遇到公共问题,如配置管理、数据访问、缓存管理、记录操作日志、异常管理、加密解密、权限管理等。Enterprise Library体现了微软对软件开发技术的最新实践,对于我们在软件开发中应该使用哪些技术、各种问题的解决方案都有很好的参考意义。同时Enterprise Library是最佳实践,而不是理论,是对很多有影响力的软件企业通过多年的开发实践积累下来的技术的整合。Enterprise Library在实现上主要是基于Martin Flower的Plagin设计模式,大量使用了Factory、Facade、Singleton等模式,虽然不知是否用了agile的开发方法,但是代码有明显不断Refactoring的痕迹。在设计上,Enterprise Library主要有三种类:Provider、Factory、ProviderData。
- Provider是我们所需功能的提供者。我们所需要的数据访问、记录日志、加密解密等功能都有这些类提供。在具体使用时,一般不是直接者用这些类,而是使用对这些类的功能进一步封装的Facade类。
- Factory用于创建我们所需要的Provider。当我们要消费某项功能时,就要用到某个Provider来提供这项功能,所以我们要先建立一个Provider,建立(实例化)Provider的任务就由Factory对象来完成,我们可以看到很多对Factory做了进一步封装的类提供了一些静态方法来建立Provider对象。
- ProviderData是对配置数据进行访问接口。当我们用Factory时建立Provider时, 到底建立类似功能的哪个Provider,是由ProviderData决定的。Enterprise Library在设计时对各种功能的配置数据都有一个单独得配置文件保存(或者更通用的说,都有一个单独的物理位置及格式进行存储),对配置数据首先封装成一些Settings类, 如ConfigurationSettings、LoggingSettings、DatabaseSettings、SecuritySettings、CacheManagerSettings、ExceptionHandlingSettings、DistributorSettings、CryptographySettings等8个,然后对这些Settings类进一步定制、分解,构成各种ProviderData类。
下面将详细分析每个应用程序块的实现情况和使用步骤。
(本人水平有限,错误之处请各位指出)