Flex中Cairngorm框架組成和使用
你對Flex中Cairngorm框架的概念是否了解,這里和大家分享一下Flex的Cairngorm框架使用,不同的語言推崇著不同的框架,但都是大同小異,本質上都是三層架構,Flex里面使用的比較廣泛的是Cairngorm框架。
Flex的Cairngorm框架使用心得
在具體談及Cairngorm框架之前,我想先談談使用框架的必要性,也就是為什么要使用框架。(初學者可以看一下,高手略過)
凡是了解軟件工程的人,都知道,軟件工程其實不是純粹的工程學,更是一門復雜的管理學課程。軟件,完全由人來編寫,寫代碼就像寫文章一樣,帶有很濃厚的主觀色彩,即使是制定各種編程規范,也無濟于事。但是這偏偏就是屬于工程學,需要黑白分明,要達到預期目標,要按時完成,要方便以后代碼重用,如何管理好,就一門學問,這就需要軟件工程,需要設計模式,需要框架。
不同的語言推崇著不同的框架,但都是大同小異,本質上都是三層架構,Flex里面使用的比較廣泛的是Cairngorm框架。
Cairngorm框架主要包括以下7個部分:
數據組:ValueObject,Model
控制組:Command,controller,event,Delegate
界面組:View
這么分類,其實就是按照三層架構的思想來分的,下面簡單談談Cairngorm框架中每個包的作用:
◆ValueObject:顧名思義,就是值對象;它的作用主要有這樣幾個:
1.包含整個程序中所需傳遞的數據,比如,界面輸入的值,后臺獲取的值,等等;
2.對界面對象的控制;
舉例:我們常常會遇到這樣的問題,在一個控件A中項要操作另一個控件B,比較麻煩,論壇上也常有這種問題。其實我們完全可以在valueObject里面聲明一個B控件的引用,然后在A中就可以操縱Model中的valueObject對象里面的B控件的引用(因為是按引用傳遞的),就可以達到控制B的目的。
3.對數組綁定對象的控制,如list,將其綁定在一個數組,通過改變數組就可以改變該List。
4.防止flag變量;
5.可以用在自定義事件中,傳遞參數;
◆Model:model主要就是利用ValueObject來實現全局變量,(注意:在Flex中是沒有全局變量一說的),所以使用Model和單例模式,來實現全局數據的控制。(什么是單例模式?就是一個類,在一個程序中,只存在一個對象。這個概念在java中也有用到)。
以上介紹的是數據組,接著是控制組。
◆Command:command其實就是函數,繼承自Command類。
◆Event:event的功能就是給界面調用command提供方便。
◆Controller:真正使command和event發生關系的,還是controller。它其實相當于添加事件監聽,觸發某某事件,該相應什么command,都在這里面定義。
◆Delegate:對于遠程數據的訪問,Cairngorm是以用委托類,來獲取數據然后傳給調用函數。
所以,可以看出,在控制方面,Cairngorm框架很有優勢的。
◆接下來就是View了。
Flex的一大好處,就是方便模塊化編程,View包里面就是放的是自定義組件,在設計階段,設計好的各個模塊,都可以放置在這個包里面。以備以后代碼重用。
【編輯推薦】