這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Flex中如何使用Cairngorm框架,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)專注于達(dá)拉特企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā)。達(dá)拉特網(wǎng)站建設(shè)公司,為達(dá)拉特等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
Flex的Cairngorm框架使用心得
在具體談及Cairngorm框架之前,我想先談?wù)勈褂每蚣艿谋匾?,也就是為什么要使用框架。(初學(xué)者可以看一下,高手略過)
凡是了解軟件工程的人,都知道,軟件工程其實(shí)不是純粹的工程學(xué),更是一門復(fù)雜的管理學(xué)課程。軟件,完全由人來編寫,寫代碼就像寫文章一樣,帶有很濃厚的主觀色彩,即使是制定各種編程規(guī)范,也無濟(jì)于事。但是這偏偏就是屬于工程學(xué),需要黑白分明,要達(dá)到預(yù)期目標(biāo),要按時(shí)完成,要方便以后代碼重用,如何管理好,就一門學(xué)問,這就需要軟件工程,需要設(shè)計(jì)模式,需要框架。
不同的語言推崇著不同的框架,但都是大同小異,本質(zhì)上都是三層架構(gòu),F(xiàn)lex里面使用的比較廣泛的是Cairngorm框架。
Cairngorm框架主要包括以下7個(gè)部分:
數(shù)據(jù)組:ValueObject,Model
控制組:Command,controller,event,Delegate
界面組:View
這么分類,其實(shí)就是按照三層架構(gòu)的思想來分的,下面簡(jiǎn)單談?wù)凜airngorm框架中每個(gè)包的作用:
◆ValueObject:顧名思義,就是值對(duì)象;它的作用主要有這樣幾個(gè):
1.包含整個(gè)程序中所需傳遞的數(shù)據(jù),比如,界面輸入的值,后臺(tái)獲取的值,等等;
2.對(duì)界面對(duì)象的控制;
舉例:我們常常會(huì)遇到這樣的問題,在一個(gè)控件A中項(xiàng)要操作另一個(gè)控件B,比較麻煩,論壇上也常有這種問題。其實(shí)我們完全可以在valueObject里面聲明一個(gè)B控件的引用,然后在A中就可以操縱Model中的valueObject對(duì)象里面的B控件的引用(因?yàn)槭前匆脗鬟f的),就可以達(dá)到控制B的目的。
3.對(duì)數(shù)組綁定對(duì)象的控制,如list,將其綁定在一個(gè)數(shù)組,通過改變數(shù)組就可以改變?cè)揕ist。
4.防止flag變量;
5.可以用在自定義事件中,傳遞參數(shù);
◆Model:model主要就是利用ValueObject來實(shí)現(xiàn)全局變量,(注意:在Flex中是沒有全局變量一說的),所以使用Model和單例模式,來實(shí)現(xiàn)全局?jǐn)?shù)據(jù)的控制。(什么是單例模式?就是一個(gè)類,在一個(gè)程序中,只存在一個(gè)對(duì)象。這個(gè)概念在java中也有用到)。
以上介紹的是數(shù)據(jù)組,接著是控制組。
◆Command:command其實(shí)就是函數(shù),繼承自Command類。
◆Event:event的功能就是給界面調(diào)用command提供方便。
◆Controller:真正使command和event發(fā)生關(guān)系的,還是controller。它其實(shí)相當(dāng)于添加事件監(jiān)聽,觸發(fā)某某事件,該相應(yīng)什么command,都在這里面定義。
◆Delegate:對(duì)于遠(yuǎn)程數(shù)據(jù)的訪問,Cairngorm是以用委托類,來獲取數(shù)據(jù)然后傳給調(diào)用函數(shù)。
所以,可以看出,在控制方面,Cairngorm框架很有優(yōu)勢(shì)的。
◆接下來就是View了。
上述就是小編為大家分享的Flex中如何使用Cairngorm框架了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。