[EnterpriseLibrary]EnterpriseLibrary.Common.Configuration文件中的各个类

 EnterpriseLibary主要是针对中大型企业级项目,但是在一些小企业项目中我们也能够运用。在运用的时候我们可以简化一些模块,对于一些应用程序块中我们不需要的可以去掉,从而实现在小项目中也能很好的应用而不至于显得大材小用。举个例子在Microsoft.Practices.EnterpriseLibrary.Data应用程序块中,Database类就是一个比较全面的DataHelper类,我们可以改变配置和工厂的方法从而减小类库尔应用于我们的小项目中,同时我们也可以增加对数据库Access的扩展。要做到这一步,首先当然要对整个项目有所了解,其中每个应用程序块都会包含的一个就是Microsoft.Practices.ObjectBuilder(这个已经独立一个项目),另一个就是核心通用类库Common,主要包括配置,以及对ObjectBuilder的扩展等,今天我们先来熟悉一下Configuration命名空间下的一些文件中类关系和用途...

  对于每一个应用程序来说,配置文件是最重要的一块,而在EnterpriseLibrary中队配置文件的写入一块一大部分都有他自带的一个tool来完成,在每个应用程序块中的Design就是来完成这项工作;而在每个项目中我们都会看到有一个Configuration文件夹,这个是用于该应用程序块对配置文件的管理类;还有一个是Instrumentation文件夹,主要包含的是事件以及事件监听类等。这也是EnterpriseLibrary中的总体结构,每个应用程序块都采用这种结构(架构)进行开发,所以只要弄懂了一个应用程序块其他的也就迎刃而解了。

  在Microsoft.Practices.EnterpriseLibrary.Common.Configuration项目中我们主要看看他对配置文件的读写的扩展;在配置文件中主要涉及的是一个节点(ConfigurationSection)和元素(ConfigurationElement)企业库都对其进行了扩展。

  SerializableConfigurationSection : ConfigurationSection, IXmlSerializable类继承可以看出是对ConfigurationSection的扩展,而每个应用程序块的配置节点都必须继承自此类,此类主要包括了对XML文件节点的操作方法;

  ConfigurationSourceSection : SerializableConfigurationSection此类是"配置文件"节点的扩展,也就是说你的项目的配置文件所对应的配置节点,在EL中包含两个配置文件(File和System);

  NamedConfigurationElement : ConfigurationElement, IObjectWithName这个类我们可以看出是包含"name"属性的元素的扩展,其中IObjectWithName包含一个属性就是Name,所以这个扩展是元素中包含Name属性的扩展;

  NameTypeConfigurationElement : NamedConfigurationElement, IObjectWithNameAndType上面对Name属性元素的扩展,而这个类有对其进行了扩展,包含了Type属性,当然IObjectWithNameAndType也就包含了Type(类型)属性;

  ConfigurationSourceElement : NameTypeConfigurationElement对上述的类进行了扩展从而获取了配置源中的元素,这个ConfigurationSourceSection相对应,在EL中包含两个配置源(File和System);

  下面来看看配置源接口IConfigurationSource,这个接口包含了很重要的方法,节点的获取以及节电的增删和改变所触发事件的处理等,这个文件中还包含了一个IConfigurationParameter接口,主要用于配置参数;

  FileConfigurationSource : IConfigurationSource, IProtectedConfigurationSource是对配置源的一个扩展,由于EL支持加密所以也实现了IProtectedConfigurationSource接口,以实现对加密的操作<可能不是这样的>,这个配置源主要是非Web.config/App.config的自定义配置文件;

  SystemConfigurationSource : IConfigurationSource 这个配置源市系统默认的配置文件(Web.config/App.config);

  从上面就可以看出El对配置可是下了以点功夫的,对每一个种族的扩展都对应着System和File两种,当然对配置类的扩展当然也要对相应的集合的扩展:  NamedElementCollection<T> : ConfigurationElementCollection, IEnumerable<T>为包含Name属性的集合,PolymorphicConfigurationElementCollection<T> : NamedElementCollection<T>对add元素的集合,NameTypeConfigurationElementCollection<T> : PolymorphicConfigurationElementCollection<T>也就是说包含Key/Value对的集合。

  有了这些东西我们就可以对操作的方法进一步了解,下一步我们将我做的就是查看一下整个配制文件的执行顺序以及它是怎样贯穿整个企业库的,今天就写到这里了,希望对刚刚步入EL的同志们有所帮助!
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值