職稱論文范文淺析注入框架Parsley在Flex中的研究
摘要:該文研究了Parsley框架的依賴注入在Flex開發(fā)中的應(yīng)用,重點(diǎn)討論P(yáng)arsley框架在Flex開發(fā)中的配置以及各種依賴注入的方式。
關(guān)鍵詞: Parsley框架;Flex;依賴注入
在面向?qū)ο蟮能浖O(shè)計(jì)過程中,軟件各個功能是通過對象之間的協(xié)作來完成,并且這些對象是在軟件的組件模塊中實(shí)例化,這樣做的后果導(dǎo)致組件與組件以及組件與自己內(nèi)部對象之間的高度緊密耦合,同時造成軟件很難被維護(hù)以及不利于軟件組件獨(dú)立的進(jìn)行測試。此時通過依賴注入技術(shù),可以把對象直接注入到程序里面,而不需要在程序中實(shí)例化這些對象,并且對象在被注入前可以獨(dú)立的進(jìn)行測試。在基于Flex開發(fā)的富因特網(wǎng)應(yīng)用程序中,Parsley框架就是常見的依賴注入框架,并且得到了Adobe官方的推薦。該文主要研究討論P(yáng)arsley框架中的依賴注入技術(shù)在Flex開發(fā)中的應(yīng)用。
1 依賴注入的簡述
依賴注入最初由Martin Fowler描述的一種設(shè)計(jì)模式。所謂依賴注入,是指程序運(yùn)行過程中,如果需要調(diào)用另一個對象協(xié)助時,無須在代碼中創(chuàng)建被調(diào)用者,而是依賴于外部的注入。目的是達(dá)到軟件組件之間的解耦,降低各層的依賴性,提高軟件組件的靈活性、可重用性以及可擴(kuò)展性,減少不必要的重復(fù)性開發(fā)工作,最終達(dá)到降低軟件開發(fā)成本。
2 Parsley框架的概述
Parsley 是一個專門為Flex 和Flash 設(shè)計(jì)的IOC 容器和消息框架,使用它可以創(chuàng)建高解耦的構(gòu)架,它允許你用Metadata、MXML、XML來配置對象,對象由一個容器來統(tǒng)一管理,而且Parsley是非常容易擴(kuò)展的?;贔lash平臺的依賴注入框架,有些是基于純Flex SDK開發(fā)的,不能脫離Flex SDK而獨(dú)立存在;還有一些框架是基于ActionScript開發(fā)的,能獨(dú)立于Flex SDK而存在,但是又不能Flex SDK深度集成。但是Parsley 兩者的功能都兼?zhèn)?,該框架的核心是基于IOC 容器與消息子系統(tǒng),并不依賴于Flex SDK ,同時部分額外的功能模塊是專為Flex 設(shè)計(jì)的, 為MXML 配置、視圖注入依賴對象和Flex 模塊開發(fā)提供了良好的支持。
3 Parsley框架在FLEX開發(fā)中的配置以及初始化流程
1) 首先把Parsley框架的核心庫文件拷貝至工程項(xiàng)目的libs目錄中,并讓項(xiàng)目引用這些庫文件。
2) 其次在項(xiàng)目的默認(rèn)包中建立MXML格式的配置文件,該文件中可以直接以的方式配置注入對象,也可以用Parsley里面的Object標(biāo)簽配置注入對象。以下代碼以Parsley自帶的Object標(biāo)簽來演示配置注入對象(樣例代碼以配置RemoteObject為例子):
3) 最后在FLex項(xiàng)目主文件內(nèi)加上Parsley的Configure、 ContextBuilder、FlexConfig標(biāo)簽,初始化Parsley的配置文件,加載IOC容器和消息子系統(tǒng)。樣例代碼如下:
Configure標(biāo)簽的作用是為了在視圖組件中實(shí)現(xiàn)對象的依賴注入,而FlexConfig標(biāo)簽的作用是在Flex主文件加載配置文件。xxxConfig為去掉mxml后綴的配置文件。
4 Parsley框架依賴注入的五種方式
1) 構(gòu)造器注入方式:直接把[InjectConstructor]元標(biāo)簽放在類的聲明上面來告訴Parsley框架產(chǎn)生構(gòu)造器方式的注入。之所以要把該元標(biāo)簽放在類聲明上面,是因?yàn)槟壳暗腇lash虛擬機(jī)會忽略構(gòu)造方法上面的元標(biāo)簽。
[InjectConstructor]
class UserLoginDao {
private var service:LoginService;
public function UserLoginDao(service:LoginService) {
this.service = service;}}
2) 方法注入方式:將[Inject] 元標(biāo)簽放到聲明方法之前。
class UserLoginDao {
private var service:LoginService;
[Inject] public function initLoginService (service:LoginService) :void{
this.service = service;}}
3) 類型屬性注入方式:將[Inject]元標(biāo)簽放到一個變量聲明或?qū)傩苑椒ㄖ埃瑹o需同時在變量或?qū)傩苑椒ㄉ厦媸褂迷撛獦?biāo),只需在其中一個上面使用即可。
class UserLoginDao {
[Inject]private var service:LoginService;
/*[Inject] public set service (service:LoginService) :void{
this.service = service;
}*/}
4) 根據(jù)ID屬性來注入:在配置文件中,托管的對象需聲明一個對應(yīng)的ID屬性。此時注入就直接根據(jù)ID來注入依賴,而不再根據(jù)類型來注入。
class UserLoginDao {
[Inject(id=” loginService”)] private var service:LoginService;}
5) 直接在配置文件中聲明依賴關(guān)系,此時可不用在類的方法或?qū)傩郧懊婕由蟍Inject]元標(biāo)簽。
5 結(jié)束語
通過在FLEX開發(fā)中使用Parsley框架的依賴注入技術(shù),實(shí)現(xiàn)了對象的動態(tài)注入,使軟件各層得到解耦,提升軟件開發(fā)的靈活性,同時也達(dá)到降低軟件開發(fā)和維護(hù)成本的目的。
參考文獻(xiàn):
[1] Shivprasad, koirala, Design, pattern. Inversion of control and Dependency injection[EB/OL].
《職稱論文范文淺析注入框架Parsley在Flex中的研究》
- 職稱論文刊發(fā)主體資格的
- 政法論文淺析工會法主體
- 化學(xué)在初中教學(xué)中的情感
- 中學(xué)教育論文思想政治方
- 法治論文投稿法治型市場
- 雜志社論文發(fā)表淺析推動
- 新疆教育報(bào)投稿淺析學(xué)生
- 分男女招生錄取的合憲性
最新優(yōu)質(zhì)論文
- 水利水電工程師職稱論文
- 音樂課老師晉升職稱必須
- 膜分離相關(guān)論文發(fā)表期刊
- 知網(wǎng)能免費(fèi)下載論文嗎
- 環(huán)境工程晉升高級職稱條
- 寫高職英語教育的論文怎
- 河南群眾文化類職稱評審
- 職稱論文發(fā)表可靠網(wǎng)站有
論文發(fā)表問題熱點(diǎn)
- 泥泵磨損論文適合哪些期
- 發(fā)表論文必須本省的期刊
- 工程師中級職稱評審條件
- 學(xué)術(shù)期刊規(guī)范化需要注意
- 自考本科論文格式要求
- 中醫(yī)藥論文準(zhǔn)備常見問題
- 會計(jì)畢業(yè)論文職稱論文準(zhǔn)
- 哪能咨詢發(fā)表論文期刊的