日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

[Enterprise Library]Configuration类设计分析

發(fā)布時(shí)間:2025/5/22 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Enterprise Library]Configuration类设计分析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
[Enterprise Library]Configuration類(lèi)設(shè)計(jì)分析

Enterprise Library: Configuration Application Block類(lèi)設(shè)計(jì)分析篇

?

Written by: Rickie Lee (rickieleemail#yahoo.com)

My blog: www.cnblogs.com/rickie

Configuration Application Block允許應(yīng)用程序方便讀寫(xiě)應(yīng)用程序配置信息。

下圖顯示了Configuration Application Block中類(lèi)和對(duì)象之間的關(guān)系,該圖假定你使用Application Block內(nèi)置的XML文件Storage ProviderTransformerXML文件Storage Provider存放配置數(shù)據(jù)到XML文件中(其他Providers使用其他Storage格式,如Windows注冊(cè)表)。XmlFileStorageProvider對(duì)象指向包含特定配置節(jié)配置信息的文件。ConfigurationBuilder對(duì)象指向包含特定配置節(jié)配置元數(shù)據(jù)的文件。一般情況下,包含配置元數(shù)據(jù)的文件為Windows應(yīng)用程序的App.ConfigWeb應(yīng)用程序的Web.Config文件。



Configuration Application Block隔離配置元數(shù)據(jù)和實(shí)際配置文件,Application Block將元數(shù)據(jù)放置在它自己的配置文件中,與實(shí)際的配置信息進(jìn)行隔離。配置設(shè)置被組合在一起,并作為一個(gè)配置節(jié)。應(yīng)用程序中每一個(gè)Enterprise LibraryApplication Block均使用它自己的配置節(jié),并有對(duì)應(yīng)的配置文件。Configuration Application Block通過(guò)使用配置元數(shù)據(jù)來(lái)訪(fǎng)問(wèn)配置數(shù)據(jù)。

?

配置元數(shù)據(jù)包含有配置存儲(chǔ)位置、Transformer類(lèi)型和Configuration Application Block用來(lái)讀寫(xiě)配置數(shù)據(jù)的Storage Provider等等信息。配置元數(shù)據(jù)文件分成一些配置節(jié),每一節(jié)包含讀寫(xiě)配置設(shè)置中特定組的必要信息。ConfigurationManager類(lèi)提供了靜態(tài)方法在定義的存儲(chǔ)位置讀寫(xiě)指定配置節(jié)的配置設(shè)置。首先,ConfigurationManager對(duì)象從應(yīng)用程序配置元數(shù)據(jù)文件讀取配置元數(shù)據(jù)信息,然后通過(guò)元數(shù)據(jù)信息讀寫(xiě)配置節(jié)信息。

?

每一個(gè)配置節(jié)的設(shè)置都緩存在hashtable中。當(dāng)client端請(qǐng)求配置數(shù)據(jù)時(shí),ConfigurationBuilder將查詢(xún)緩存中的數(shù)據(jù)。如果在緩存中發(fā)現(xiàn)這些配置數(shù)據(jù),ConfigurationBuilder對(duì)象則不訪(fǎng)問(wèn)存儲(chǔ)區(qū)的配置數(shù)據(jù)。如果Storage Provider檢測(cè)存儲(chǔ)區(qū)內(nèi)的數(shù)據(jù)發(fā)生變化,ConfigurationBuilder將清除緩存。ConfigurationManager對(duì)象允許應(yīng)用程序清除整個(gè)或特定配置節(jié)的緩存,如果緩存被清除后,隨后的請(qǐng)求將訪(fǎng)問(wèn)存儲(chǔ)區(qū)中的配置數(shù)據(jù)。

?

IStorageProviderReader接口定義了用來(lái)從存儲(chǔ)位置讀取配置信息,IStorageProviderWriter接口實(shí)現(xiàn)了IStorageProviderReader接口,并且定義了用來(lái)寫(xiě)配置信息的接口。Configuration Application Block中的XmlFileStorageProvider實(shí)現(xiàn)了上述接口,用來(lái)讀寫(xiě)XML配置文件。

ITransformer接口用來(lái)在應(yīng)用程序與Storage Provider之間轉(zhuǎn)換配置設(shè)置對(duì)象,Configuration Application Block中的XmlSerializerTransformer類(lèi)實(shí)現(xiàn)了該接口。XmlSerializerTransformer類(lèi)轉(zhuǎn)換應(yīng)用程序中定義的對(duì)象和XmlNode對(duì)象。應(yīng)用程序不是必須要求配置Transformer,如果沒(méi)有Transformer,返回給應(yīng)用程序的配置設(shè)置對(duì)象與Storage Provider提供的對(duì)象類(lèi)型一樣。

?

***

作者:Rickie Lee (rickieleemail#yahoo.com)

本文參考Enterprise Library, Configuration Application Block文檔。

?

References:

1. Enterprise Library, Configuration Application Block

2. Rickie, Microsoft patterns & practices Enterprise Library January 2005 [中文稿], http://www.cnblogs.com/rickie/archive/2005/01/30/99443.html

3. Rickie, Enterprise Library released! http://www.cnblogs.com/rickie/archive/2005/01/29/99106.html
posted on 2005-08-18 18:48 浙林龍哥 閱讀(...) 評(píng)論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/huqingyu/archive/2005/08/18/217955.html

總結(jié)

以上是生活随笔為你收集整理的[Enterprise Library]Configuration类设计分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。