为自定义配置的编辑提供“智能感知”的支持

当我们在设计一个框架的时候,必然会涉及一系列的配置。为了让使用者更好地使用你提供的框架,让他们能够容易地维护这些配置是一项基本的要求。对于一些配置过于复杂的框架,比如EnterLib,比如WCF,往往会提供一个配置的工具。但是,不过这样的配置工具是否提供,手工编译配置文件是在所难免的。如果在通过VS编辑配置的时候,能够提供智能感知和提示性描述的支持,这无疑会使配置的编辑变得非常的容易。这里是一个简单的例子。

公司主营业务:成都网站建设、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出舒城免费做网站回馈大家。

一、配置文件的结构

假设我们设计一个MessageGenerator的组件,用于生成程序我们需要的文本消息,比如验证控件的验证消息,异常的消息等。消息的内容根据需要可以保存在数据库中或者是XML文件中,并且采用不同模式(粒度)的缓存(None、Single、Category和All)。我们采用插件式的设计,定义一个IMessageProvider接口用于从数据源中获取消息列表,两个具体的DbMessageProvider和XmlMessageProvider实现了这个接口。具体采用那个MessageProvider,通过配置来决定(defaultProvider),配置结构如下所示:

 
 
 
  1.    
  2.    
  3.    
  4.    
  5.    
  6.    
  7.    
  8. connectionString="" applicationName="" />   
  9.    
  10.    
  11.    
  12.  

二、为配置定义XSD

为了在VS中编辑配置文件的时候获得智能感知的支持,我们需要为它定义XSD。整个XSD如下所示,结构比较清晰。不过在这里有几点需要强调:

(1)我们通过采用节点定义一些表述性的文字。当你通过VS编辑配置文件的时候,针对当前配置节点定义的这些文字将会以Tips的形式显示出来;

 (2)在定义MessageProvider的schema的时候,我们将针对所有预定义MessageProvider的配置属性都定义出来(DbMessageProvider的applicationName和connectionStringName,以及XmlMessageProvider的source)。如果这些配置属性不是对于所有的MessageProvider都是必须的(比如name和type),将它们定义成可选属性;

 (3)对于一些枚举,或者限定在某个列表范围内固定的值,通过/来定义,比如这里使用到的CachingMode。

 
 
 
  1.    
  2.    
  3.    
  4.    
  5.    
  6.    
  7.     
  8.    
  9.    
  10.    
  11.    
  12.    
  13.    
  14.    
  15.    
  16. The configuration name of the default essageProvider.   
  17.    
  18.    
  19.    
  20.    
  21. The caching mode (None, Single, Category, All).   
  22.    
  23.    
  24.    
  25.    
  26.    
  27.    
  28.    
  29. A friendly name of MessageProvider.   
  30.    
  31.    
  32.    
  33.    
  34. The assembly qualified name of the MessageProvider type.   
  35.    
  36.    
  37.    
  38.    
  39. [DbMessageProvider]The connection string configuration name. 
  40.    
  41.    
  42.    
  43.    
  44. [DbMessageProvider]The name of application.   
  45.    
  46.    
  47.  
  48.    
  49. [XMLMessageProvider] The path of the XML file to store message entry list.   
  50.    
  51.    
  52.    
  53.    
  54.    
  55.    
  56.    
  57.    
  58.    
  59.    
  60.  
  61.    
  62.    
  63.    
  64.    
  65.    
  66.    
  67.    
  68.    
  69.  

三、应用XSD以获得职能感知的支持

如果这样一个XSD已经定义好,在对配置文件进行编辑的时候,通过VS的菜单XML\Schemas打开XML Schemas对话框。点击Add按钮将这个XSD文件添加近来,并Use属性设置成Use this schema。这样你编译配置文件的时候就可以获得只能感知的支持了,配置将会变得非常的容易,即使对配置结构不太了解的人也能根据智能感知和提示性的描述完成配置工作。

网页名称:为自定义配置的编辑提供“智能感知”的支持
标题来源:http://www.shufengxianlan.com/qtweb/news2/239402.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联