Flex框架Riawave的定制應用
在學習Flex的過程中,你可能會遇到Flex框架應用問題,這里和大家分享一下,Flex有很多開發框架,最有名的是Cairngorm,但是它不太適合中小項目。這里我們采用了Riawave,準確的說Riawave并不是一個框架,它只是一個通訊錄管理的簡單代碼示例,它包含了很多的最佳實踐。
Flex框架應用
Jbpmside要使用Flex開發流程設計器以及管理器,剛好公司的一個內部項目也應用到Flex,大概花了一個禮拜來熟悉和了解Flex。其中發現Flex開發和AJAX開發的很多相通之處,這里把自己對Flex的一些學習心得總結一下。分為三部分,分別是對Riawave框架的介紹、參照Riawave,對自己先前采用的AJAX開發框架的介紹、以及對AJAX前景的一些自己看法。
Flex框架Riawave的定制應用
Flex有很多開發框架,最有名的是Cairngorm。但是Cairngorm太復雜了,職責的細粒度分離帶來的是過多的類和代碼,不太適合中小項目。這里我們采用了Riawave,準確的說Riawave并不是一個框架,它只是一個通訊錄管理的簡單代碼示例,它包含了很多的最佳實踐。這里想說一點,就是很多時候采用某種技術起決定因素的往往不是技術本身是否先進,而是看該技術的使用者是否眾多。
Flex框架Riawave將應用程序拆分成三部分,分別是Views、ModelLocator、DAO。
◆Views指的是應用里的頁面組件,例如表格、表單、菜單等。
它的職責:
1、組成整個應用的界面;
2、對組件內部的原生事件進行處理,這些事件指發生在該組件里的鼠標事件和鍵盤事件;
3、當需要其他組件進行協作時,發布定制事件;
4、對其所關聯的數據進行操作;
5、監聽其他組件發布的與之相關的定制事件,并做出展現形式上的改變。
◆ModelLocator是整個應用的核心。
它的職責:
1、集中存儲應用的所有數據;
2、給頁面組件提供統一的定制事件監聽器接口,即所有的頁面組件要對其他組件的定制事件監聽則必須通過ModelLocator來進行訂閱;
3、唯一的定制事件發布接口,即任何頁面組件要發布自己的定制事件都必須通過ModelLocator發布;
4、集中維護所有定制事件的類型。ModelLocator是單態的,通過ModelLocator,應用程序所有的定制事件都被統一管理。
◆DAO負責操作應用的數據。
它的職責:
1、改變應用的數據,提供應用數據修改的統一接口,即用戶操作頁面組件改變數據時,實際上是由頁面組件轉發給DAO處理;
2、遠程訪問服務端,Flex通常作為應用程序的前端展現出現,和AJAX一樣,數據的操作要和服務器端進行交互;
3、服務器端返回正確的操作結果后,改變ModelLocator里的數據,發布定制事件,觸發相應頁面組件改變。可以看到,整個Flex應用完全是由事件驅動的。
◆Flex框架其他需要了解的部分:
1、Flex的DataBinding機制,這個機制實際也是由事件發布/訂閱機制實現的,它可以省去自己編寫重復的定制事件發布/訂閱代碼,實現組件展現數據與ModelLocator的數據同步;
2、VO,本地的數據建模、用途:發布定制事件時,通過VO攜帶組件數據,VO被包含在事件里;傳遞數據到DAO。
【編輯推薦】
- 常見十大Flex調試工具和Flex框架
- Flex基礎 創建第一個Flex項目
- 解析Flex事件執行流程
- FlexBuilder3.0與Eclipse3.4的完美結合
- 學習筆記 FlexBuilder2.0中如何使用基于Lists的控件