幸福是一种心情、一种体会

认真学习,虚心向高手们请教

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类。

下面将详细分析每个应用程序块的实现情况和使用步骤。
(本人水平有限,错误之处请各位指出)

posted on 2005-08-03 23:31 生活、工作 阅读(4476) 评论(19)  编辑 收藏

评论

#1楼  2005-08-03 23:50 CsOver [未注册用户]

支持,最近也在研究这方面的知识!   回复  引用    

#2楼  2005-08-03 23:58 william [未注册用户]

怎么没看到呀   回复  引用    

#3楼  2005-08-03 23:58 dudu      

支持!大家一起来研究。
今天看到了有关Enterprise Library 2.0的一些信息, http://blogs.msdn.com/scottdensmore/archive/2005/08/01/446190.aspx 。   回复  引用  查看    

#4楼 [楼主] 2005-08-04 00:02 生活、工作      

Enterprise Library 2.0的源码到http://bbs.dotnettools.org/activeubb/default.asp看看   回复  引用  查看    

#5楼  2005-08-04 08:53 老多      

@生活、工作
Enterprise Library 2.0的源码到http://bbs.dotnettools.org/activeubb/default.asp看看
怎么没有看到,乱说的把   回复  引用  查看    

#6楼 [楼主] 2005-08-04 12:43 生活、工作      

http://bbs.dotnettools.org/activeubb/NewsDetail.asp?GroupName=%2ENET%C9%E8%BC%C6%C4%A3%CA%BD%2C%D3%A6%D3%C3%BF%F2%BC%DC%BA%CD%C6%F3%D2%B5%BF%AA%B7%A2&DaysPrune=365&lp=2&id=3941

http://www.rationalpath.com/files/EntLibASPNET2.zip   回复  引用  查看    

#7楼 [楼主] 2005-08-04 12:44 生活、工作      

http://www.rationalpath.com/files/src.zip   回复  引用  查看    

#8楼  2005-08-04 16:10 feelwindy      

不知道微软的EL是不是也会像JAVA的EJB   回复  引用  查看    

#9楼  2005-08-04 20:07 neuhawk      

el2.0需要asp.net 2.0吧,不知道变化大不大.   回复  引用  查看    

#10楼  2005-08-05 11:00 clamphammer [未注册用户]

这个是以源代码形式提供的,和Java的EJB没有可比性阿   回复  引用    

#11楼  2005-09-11 13:45 gloryict [未注册用户]

我在使用el1.1中的数据访问模块的时候部署的时候出现如下错误:(但开发的时候没有错)
System.Security.SecurityException:Requested registry access is not allowed

在网上查了一下,有人也碰到过,有人提出两种解决方案
1,修改注册表(不太现实,怎么能这么麻烦,客户受不了吧)
2,重新编译EL的Common
我两种方法都试了,但部署的时候一登陆还是报这种错误
我的环境是.NET 1.1 +2000 server sp4

想请教一下有什么更好的方法吗?谢谢   回复  引用    

#12楼 [楼主] 2005-09-12 22:08 生活、工作      

安装后,有个Install Services,执行一下试试   回复  引用  查看    

#13楼  2005-09-13 17:00 gloryict [未注册用户]

我是问部署在客户的时候,不是说开发的时候
想问一下,大哥有没有在实际的项目中应用EL
应用的时候碰到过这个问题吗?
谢谢。   回复  引用    

#14楼  2005-09-13 17:00 gloryict [未注册用户]

我是问部署在客户的时候,不是说开发的时候
想问一下,大哥有没有在实际的项目中应用EL
应用的时候碰到过这个问题吗?
谢谢。   回复  引用    

#15楼 [楼主] 2005-09-13 21:16 生活、工作      

部署的时候只是部署Assembly是没有用的,还需要一些附加支持,所以客户端要安装EL,当然如果你已经将EL整合进你自己的项目,则另当别论。就像WSE一样,只复制Microsoft.Web.Services2.dll不管用。   回复  引用  查看    

#16楼  2005-09-28 10:59 Benny Ng (MiaoMiaoGa)      

我在部署时也遇到同样的问题.怎么办.也是System.Security.SecurityException:Requested registry access is not allowed 这个错误.天啊...用了EL就这样?那其它人是怎么部署的?XCOPY的部署不行?...   回复  引用  查看    

#17楼  2006-02-07 13:45 程序生活      

急问:Enterprise Library 和 Offline Application Block 有什么区别呀?   回复  引用  查看    

#18楼  2006-02-13 09:41 chuanzai [未注册用户]

Plagin设计模式
这个是啥模式?   回复  引用    

#19楼  2006-07-20 14:59 实习生 [未注册用户]

我再建webForm的时候,
也遇到了
System.Security.SecurityException:Requested registry access is not allowed
用的是企业库1.1配置工具,VS2003,sql2000,.net1.1的框架,
请高手指教指教;
  回复  引用    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2005-08-11 22:34 编辑过