寫flex也寫了2年多了,居然還沒有用過pureMVC或者Cairngrom這樣的MVC框架,個人覺得有點丟人了。大概看了一下,框架的結構和以前自己開發的時候差不多。但是,雖然是一樣,也不夠專業啊,於是發了把狠,開始決定研究下Cairngorm,不能落後不是^^。先了解下Cairngorm的分層思想:
什麼是Cairngorm
cairngorm中文名是“煙水晶”,不知道“煙水晶”是啥東西,它是一個輕量級的Flex RIA程序開發框架,從而使程序的擴展性、可維護性都大大提高,不要把他看的有多神聖,個人認爲其實就是一個開發的骨架,按這個骨架開發的話,可以實現三層解耦,各層次之間使用消息通訊。Cairngorm主要是對開發flex應用程序加入了一系列的設計模式,從而使開發出來的flex程序可擴展性,可維護性的都大大提高。
Cairngorm的構架
借用一張別人的構架圖:
可以看到主要有6個組件:
- view
- front controller
- command
- business delegate
- model locator
- service locator
現在來了解一下每一個組件都是負責什麼工作的,結合上面的圖會更加清晰:
- view:我們在這裏保存自定義的視圖組件,要使用model locator中的數據,是cairngorm event事件產生的地方。
- front controller:這個組件主要就是實現映射,他會監聽cairngorm event,把響應映射到cairngorm command裏面的響應函數上。這有這一個功能。
- command:業務邏輯層,功能核心,他負責更新model locator,調用business delegate或者其他command
- business delegate:他負責http,web service的方式的通信,由Command創建,返回結果給Command。
- model locator:我們程序的運行時項目都保存在這裏,必須是可綁定的,而且是單例。
- service locator:在這裏定義遠程訪問的對象。
瞭解了這個框架的構架以後,下一篇文章會提供一個demo,結合demo就能明白cairngorm怎樣在項目中被使用了。