国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DOTNET平臺(tái)組件配置工具的設(shè)計(jì)與實(shí)現(xiàn)

DOTNET平臺(tái)組件配置工具的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2010-07-26 來(lái)源:網(wǎng)絡(luò) 收藏
反轉(zhuǎn)控制(IOC)和面向切面編程(AOP)技術(shù)作為當(dāng)前比較流行的技術(shù),其優(yōu)勢(shì)已受到廣泛關(guān)注,但是這兩項(xiàng)新技術(shù)在實(shí)際項(xiàng)目上的應(yīng)用研究卻很落后,而且在.NET這兩項(xiàng)技術(shù)沒(méi)有形成可以廣泛套用的框架,使得開(kāi)發(fā)人員在.NET下應(yīng)用IOC和AOP技術(shù)的難度和成本大幅度提高。Castle提供了.NET下開(kāi)發(fā)IOC和AOP技術(shù)的框架,一定程度上解決了開(kāi)發(fā)人員的難題,但是如何高效地IOC和AOP技術(shù)的開(kāi)發(fā),至今無(wú)人提出較好的建議。
本文主要研究Castle框架中的IOC和AOP機(jī)制,目標(biāo)是出一個(gè)可視化,IOC和AOP機(jī)制中文件的可視化。該經(jīng)過(guò)修改和完善也適用于其他框架中的IOC和AOP文件的生成。
1 Castle框架和相關(guān)技術(shù)介紹
1.1 Castle框架介紹

 Castle是.NET平臺(tái)下的一個(gè)系統(tǒng)級(jí)框架,它是通過(guò)將一些成熟開(kāi)源應(yīng)用進(jìn)行無(wú)縫整合而形成的一套完善的系統(tǒng)級(jí)應(yīng)用框架,這其中包括了ActiveRecord、AspectSharp、MonoRail及MicroKernel/Windsor。其中MicroKernel是IOC框架的核心;AspectSharp是AOP的框架。
1.2 IOC技術(shù)介紹
反轉(zhuǎn)控制IOC(Inversion of Control)[1],又稱(chēng)依賴(lài)注入DI(Dependency Injection),是面向?qū)ο箢I(lǐng)域新興的編程思想。簡(jiǎn)單地說(shuō),IOC就是指由容器來(lái)控制程序之間的關(guān)系,而非傳統(tǒng)實(shí)現(xiàn)中的由程序代碼直接操控。這也就是所謂“反轉(zhuǎn)控制”的概念所在:控制權(quán)由應(yīng)用代碼轉(zhuǎn)到外部容器,控制權(quán)的轉(zhuǎn)移,也就是所謂的反轉(zhuǎn)。
1.3 AOP技術(shù)介紹
AOP[2](Aspect Oriented Programming)是OOP的延續(xù),意思是面向切面編程??梢酝ㄟ^(guò)預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)在不修改源代碼的情況下給程序動(dòng)態(tài)統(tǒng)一添加功能的一種技術(shù)。它可以解決OOP和過(guò)程化方法不能夠很好解決的橫切(crosscut)問(wèn)題,如:事務(wù)、安全、日志等橫切關(guān)注。當(dāng)未來(lái)系統(tǒng)變得越來(lái)越復(fù)雜,橫切關(guān)注點(diǎn)就成為一個(gè)大問(wèn)題的時(shí)候,AOP就可以很輕松地解決橫切關(guān)注點(diǎn)的問(wèn)題。
2 可視化IOC和AOP配置思路
 可視化IOC和AOP配置工具是一個(gè)在.NET平臺(tái)下開(kāi)發(fā)的WinForm程序,這個(gè)工具的主要作用就是在IOC或者AOP都開(kāi)發(fā)好的條件下,利用這個(gè)工具生成IOC或者AOP的配置文件,方法是讀取現(xiàn)存的IOC或者AOP組件。在工具中進(jìn)行相應(yīng)的配置,最后直接生成開(kāi)發(fā)人員所需的配置文件。
 該工具的主要功能是通過(guò)讀入現(xiàn)存的IOC組件或AOP組件,提取并暫存組件中與配置有關(guān)的重要信息,以可視化的方式顯示在工具界面中,然后由開(kāi)發(fā)人員操作該工具完成組件對(duì)應(yīng)的配置文件的生成。這個(gè)過(guò)程可以劃分為5個(gè)階段(如圖1):讀取類(lèi)文件>分析類(lèi)文件>顯示配置信息>開(kāi)發(fā)人員對(duì)參數(shù)進(jìn)行配置>生成配置文件。其中前三層是該工具主要實(shí)現(xiàn)的功能。因此,該可視化工具的代碼部分分為3個(gè)層次來(lái)編寫(xiě)。分別是:讀類(lèi)文件、分析提取信息、顯示信息。

本文引用地址:http://m.ptau.cn/article/151717.htm

 第一層主要是完成類(lèi)文件的讀取,在.NET平臺(tái)下使用到了System.IO命名空間中文件操作相關(guān)的File類(lèi)和StreamReader類(lèi),最終將整個(gè)讀取的文件內(nèi)容以string類(lèi)型返回,以供第二層分析文件使用。
 第二層的功能是在第一層的讀取文件內(nèi)容的基礎(chǔ)上分析并提取關(guān)鍵字,即取出配置文件需要的重要信息,例如IOC反轉(zhuǎn)控制模式主要有設(shè)值注入和構(gòu)造方法注入,設(shè)值注入就是對(duì)類(lèi)中的屬性進(jìn)行注入,而構(gòu)造方法注入是對(duì)構(gòu)造函數(shù)中的參數(shù)值進(jìn)行注入。因此類(lèi)中的屬性和構(gòu)造函數(shù)的參數(shù)就屬于IOC配置文件的重要信息,第二層主要完成對(duì)類(lèi)似的重要信息的識(shí)別和分類(lèi)。在第二層中,完成的識(shí)別功能主要有:
(1) 識(shí)別類(lèi)文件的命名空間、類(lèi)名、接口名
 命名空間、類(lèi)名、接口名都是組成IOC和AOP配置文件的必備元素。
 在IOC配置文件中,命名空間、類(lèi)名、接口名常出現(xiàn)在component標(biāo)簽的service和type屬性值中,而在A(yíng)OP的配置文件中命名空間出現(xiàn)在Imports關(guān)鍵字之后。所以對(duì)命名空間、類(lèi)名、接口名的提取是生成配置文件的必要條件。
(2) 識(shí)別類(lèi)文件中的屬性
 IOC反轉(zhuǎn)控制模式中的設(shè)值注入就是對(duì)類(lèi)中的屬性進(jìn)行注入,如采用該注入模式系統(tǒng),在IOC配置文件中,需要把類(lèi)中的屬性作為配置文件的標(biāo)簽。
(3) 識(shí)別類(lèi)的構(gòu)造方法中的參數(shù)名
 IOC反轉(zhuǎn)控制模式中的構(gòu)造注入是對(duì)構(gòu)造函數(shù)中的參數(shù)值進(jìn)行注入,如果采用該模式設(shè)計(jì)系統(tǒng),在IOC的配置文件中,需要把構(gòu)造方法的參數(shù)名作為配置文件中的標(biāo)簽。
 以上介紹的是第二層所識(shí)別的關(guān)鍵字的類(lèi)別。在程序中關(guān)鍵字的獲取主要是通過(guò)編寫(xiě)獲取方法來(lái)實(shí)現(xiàn)。獲取命名空間使用GetNamespace方法;獲取類(lèi)名使用GetClass方法;獲取接口名使用GetInterface方法;獲取屬性名使用GetProperty方法。實(shí)現(xiàn)的思路是在遵循一定規(guī)約的前提下通過(guò)屬性在類(lèi)中的位置特征將其提取出來(lái)并且依次保存到一個(gè)ArrayList對(duì)象中。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉