色播五月综合_国产精品视频中文字幕91_欧美日韩一区二区在线免费观看_久久久久久成人

職稱論文范文淺析注入框架Parsley在Flex中的研究

來源:職稱論文發表指導網 作者:職稱論文 發布時間:
掃碼咨詢
   摘要:摘要:該文研究了Parsley框架的依賴注入在Flex開發中的應用,重點討論Parsley框架在Flex開發中的配置以及各種依賴注入的方式。 關鍵詞: Parsley框架;Flex;依賴注入 在面向對象的軟件設計

  摘要:該文研究了Parsley框架的依賴注入在Flex開發中的應用,重點討論Parsley框架在Flex開發中的配置以及各種依賴注入的方式。

  關鍵詞: Parsley框架;Flex;依賴注入

職稱論文發表網

  在面向對象的軟件設計過程中,軟件各個功能是通過對象之間的協作來完成,并且這些對象是在軟件的組件模塊中實例化,這樣做的后果導致組件與組件以及組件與自己內部對象之間的高度緊密耦合,同時造成軟件很難被維護以及不利于軟件組件獨立的進行測試。此時通過依賴注入技術,可以把對象直接注入到程序里面,而不需要在程序中實例化這些對象,并且對象在被注入前可以獨立的進行測試。在基于Flex開發的富因特網應用程序中,Parsley框架就是常見的依賴注入框架,并且得到了Adobe官方的推薦。該文主要研究討論Parsley框架中的依賴注入技術在Flex開發中的應用。

  1 依賴注入的簡述

  依賴注入最初由Martin Fowler描述的一種設計模式。所謂依賴注入,是指程序運行過程中,如果需要調用另一個對象協助時,無須在代碼中創建被調用者,而是依賴于外部的注入。目的是達到軟件組件之間的解耦,降低各層的依賴性,提高軟件組件的靈活性、可重用性以及可擴展性,減少不必要的重復性開發工作,最終達到降低軟件開發成本。

  2 Parsley框架的概述

  Parsley 是一個專門為Flex 和Flash 設計的IOC 容器和消息框架,使用它可以創建高解耦的構架,它允許你用Metadata、MXML、XML來配置對象,對象由一個容器來統一管理,而且Parsley是非常容易擴展的。基于Flash平臺的依賴注入框架,有些是基于純Flex SDK開發的,不能脫離Flex SDK而獨立存在;還有一些框架是基于ActionScript開發的,能獨立于Flex SDK而存在,但是又不能Flex SDK深度集成。但是Parsley 兩者的功能都兼備,該框架的核心是基于IOC 容器與消息子系統,并不依賴于Flex SDK ,同時部分額外的功能模塊是專為Flex 設計的, 為MXML 配置、視圖注入依賴對象和Flex 模塊開發提供了良好的支持。

  3 Parsley框架在FLEX開發中的配置以及初始化流程

  1) 首先把Parsley框架的核心庫文件拷貝至工程項目的libs目錄中,并讓項目引用這些庫文件。

  2) 其次在項目的默認包中建立MXML格式的配置文件,該文件中可以直接以的方式配置注入對象,也可以用Parsley里面的Object標簽配置注入對象。以下代碼以Parsley自帶的Object標簽來演示配置注入對象(樣例代碼以配置RemoteObject為例子):

  3) 最后在FLex項目主文件內加上Parsley的Configure、 ContextBuilder、FlexConfig標簽,初始化Parsley的配置文件,加載IOC容器和消息子系統。樣例代碼如下:

  Configure標簽的作用是為了在視圖組件中實現對象的依賴注入,而FlexConfig標簽的作用是在Flex主文件加載配置文件。xxxConfig為去掉mxml后綴的配置文件。

  4 Parsley框架依賴注入的五種方式

  1) 構造器注入方式:直接把[InjectConstructor]元標簽放在類的聲明上面來告訴Parsley框架產生構造器方式的注入。之所以要把該元標簽放在類聲明上面,是因為目前的Flash虛擬機會忽略構造方法上面的元標簽。

  [InjectConstructor]

  class UserLoginDao {

  private var service:LoginService;

  public function UserLoginDao(service:LoginService) {

  this.service = service;}}

  2) 方法注入方式:將[Inject] 元標簽放到聲明方法之前。

  class UserLoginDao {

  private var service:LoginService;

  [Inject] public function initLoginService (service:LoginService) :void{

  this.service = service;}}

  3) 類型屬性注入方式:將[Inject]元標簽放到一個變量聲明或屬性方法之前,無需同時在變量或屬性方法上面使用該元標,只需在其中一個上面使用即可。

  class UserLoginDao {

  [Inject]private var service:LoginService;

  /*[Inject] public set service (service:LoginService) :void{

  this.service = service;

  }*/}

  4) 根據ID屬性來注入:在配置文件中,托管的對象需聲明一個對應的ID屬性。此時注入就直接根據ID來注入依賴,而不再根據類型來注入。

  class UserLoginDao {

  [Inject(id=” loginService”)] private var service:LoginService;}

  5) 直接在配置文件中聲明依賴關系,此時可不用在類的方法或屬性前面加上[Inject]元標簽。

  5 結束語

  通過在FLEX開發中使用Parsley框架的依賴注入技術,實現了對象的動態注入,使軟件各層得到解耦,提升軟件開發的靈活性,同時也達到降低軟件開發和維護成本的目的。

  參考文獻:

  [1] Shivprasad, koirala, Design, pattern. Inversion of control and Dependency injection[EB/OL].

聲明:

①文獻來自知網、維普、萬方等檢索數據庫,說明本文獻已經發表見刊,恭喜作者.

②如果您是作者且不想本平臺展示文獻信息,可聯系學術顧問予以刪除.

《道路交通事故責任鑒定標準相關要點分析》
主站蜘蛛池模板: 国产一区二区精品免费| 久久在线精品视频| 一区中文字幕在线观看| 91麻豆国产精品| 国产精品福利久久久| 欧美交换配乱吟粗大25p| 91精品国产91久久久久青草| 欧美日韩高清在线一区| 日韩一级在线免费观看| 国产乱子伦精品| 91久久国产综合久久91精品网站 | 一区二区视频在线播放| 亚洲精品tv久久久久久久久| 国产亚洲综合视频| 亚洲国产欧美不卡在线观看| 免费99精品国产自在在线| 国产精品久久久久99| 国产一区二区丝袜| 欧美亚洲日本在线观看| 国产色综合天天综合网| 好吊色欧美一区二区三区| 日韩理论片在线观看| 日韩欧美亚洲日产国| 国产精品无av码在线观看| 亚洲综合最新在线| 欧美高清视频一区二区三区在线观看| 国产精品香蕉国产| 热久久99这里有精品| 国产精品毛片va一区二区三区| 91国产精品视频在线| 国产在线拍偷自揄拍精品| 亚洲一区不卡在线| 久久视频国产精品免费视频在线| 精品午夜一区二区| 日本精品久久久久久久久久| 国产精品裸体一区二区三区| 国产综合av一区二区三区| 日韩国产一区久久| 亚洲视频在线观看日本a| 91久久精品国产| 91国内在线视频|