資源描述:
《經(jīng)典實例CairngormStore的分析》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、第25章經(jīng)典實例CairngormStore的分析CairngormStore實例是Adobe開發(fā)團隊提供的一個關于如何應用Cairngorm框架的實例。對于初學Flex開發(fā)和Cairngorm框架的人員有很大的幫助。25.1CairngormStore實例簡介CairngormStore實例實現(xiàn)的是一個在線商店網(wǎng)站,功能包括瀏覽貨物、購買貨物、統(tǒng)計金額等。CairngormStore實例流行很廣,有較多版本,最新版本為CairngormStore2.2。本節(jié)將簡要介紹CairngormStore實例的工作原理及文件組織結(jié)構(gòu)。C25.2如
2、何運行CairngormStore實例CairngormStore實例由于結(jié)合Java與Flex技術,所以需要進行環(huán)境配置。涉及的配置包括Java運行平臺、LiveCycleDataServices服務器、源代碼本身的修改等。本小節(jié)將詳細介紹如何運行CairngormStore實例。25.2.1架設Java運行平臺Java運行平臺用以編譯運行Java程序,可安裝J2SE(Java2StandardEdition)1.4.2以上版本。25.2.2架設AMF網(wǎng)關LiveCycleDataServicesLiveCycleDataService
3、s是Adobe公司推出的AMF網(wǎng)關服務器,負責Java數(shù)據(jù)類型與ActionScript數(shù)據(jù)類型的相互轉(zhuǎn)換。本書使用的版本為LiveCycleDataServicesES2.5.1。25.2.3編譯運行前的準備編譯運行CairngormStore實例前需要下載CairngormStore實例、修改配置文件等。25.2.4編譯CairngormStore實例在架設Java運行平臺、LiveCycleDataServices后,只需要新建工程并編譯運行CairngormStore實例即可。25.3CairngormStore實例的代碼分析Ca
4、irngormStore實例的代碼比較多,這是因為Adobe開發(fā)團隊提倡的Cairngorm框架本身的結(jié)構(gòu)層次就比較多,再加上作者模塊化編程習慣所致。本章將詳細分析CairngormStore實例中一些重要的類和文件。讀者通過分析這些類和文件,將有助于理解和學習CairngormStore實例。25.3.1使用ProductVO類建立商品數(shù)據(jù)模型CairngormStore實例實現(xiàn)的是一個在線購物的網(wǎng)站,所以商品是最重要的數(shù)據(jù)之一。CairngormStore實例中使用ProductVO類建立商品數(shù)據(jù)模型。25.3.2使用Shopping
5、CartElement類建立購物條目數(shù)據(jù)模型購物車中有消費者選購的每個商品的購買信息,如商品數(shù)量、此商品總金額等信息。CairngormStore實例中使用ShoppingCartElement類建立購物條目數(shù)據(jù)模型。25.3.3使用ShoppingCart類建立購物車數(shù)據(jù)模型購物車數(shù)據(jù)模型包括多個購物條目、總金額等信息。CairngormStore實例中使用ShoppingCart類建立購物車數(shù)據(jù)模型。25.3.4使用ShopModelLocator類建立應用程序數(shù)據(jù)模型ShopModelLocator類定義了整個應用程序的數(shù)據(jù)模型,包
6、括購物車實例、當前選擇的商品、貨幣格式、各種狀態(tài)變量等。25.3.5使用ShopController類監(jiān)聽事件ShopController類繼承Cairngorm框架的FrontController類,用以監(jiān)聽CairngormEvent事件。25.3.6在ServiceLocator類中定義服務CairngormStore實例中使用組件調(diào)用Java類。Cairngorm框架中建議在ServiceLocator類中定義各種服務,這樣通過ServiceLocator類的getService()方法就可在任何
7、文件中調(diào)用服務。ServiceLocator類通常在MXML文件中被定義為組件。25.3.7創(chuàng)建自定義事件CairngormStore實例中定義了不少事件。本節(jié)以GetProductsEvent事件為例,介紹如何創(chuàng)建自定義事件。其他事件的定義大同小異。GetProductsEvent類繼承于Cairngorm框架的CairngormEvent類,用以表示獲得商品數(shù)據(jù)事件。25.3.8創(chuàng)建自定義命令命令一般對應一個事件,所以兩者的取名很相似。例如,GetProductsEvent事件的對應命令為GetProductsCommand。命令類必
8、須實現(xiàn)Cairngorm框架的ICommand接口類,但不一定要實現(xiàn)IResponder接口類。若命令執(zhí)行后有返回結(jié)果或后續(xù)動作,那么需要實現(xiàn)Responder接口類。若命令執(zhí)行后沒有返回結(jié)果