Posted on 2007-01-26 23:58
云自無(wú)心水自閑 閱讀(1003)
評(píng)論(0) 編輯 收藏 所屬分類:
Flex 、
Cairngorm 、
Flex2
總結(jié)起來(lái)需要注意的原則就是:盡量在編譯的階段發(fā)現(xiàn)錯(cuò)誤,因?yàn)檫@時(shí)發(fā)現(xiàn)并解決錯(cuò)誤遠(yuǎn)遠(yuǎn)要比在運(yùn)行時(shí)出錯(cuò)解決起來(lái)容易的多。可是實(shí)際情況中很多人經(jīng)常會(huì)違反這一原則,下面是我列舉的10個(gè)技巧:
1) 永遠(yuǎn)不要使用'Object' 來(lái)存儲(chǔ)數(shù)據(jù). 因?yàn)檫@是一種繞開編譯器檢查的做法,完全不符合面向?qū)ο蟮乃枷搿H绻肏ashmap或者相應(yīng)的數(shù)組,那么可以用Dictionary。否則,請(qǐng)自已定義一個(gè)類,而不要使用Object來(lái)作為數(shù)據(jù)的存儲(chǔ)器。
2) 不要用Object來(lái)作為對(duì)象的類型。這是欺騙編譯器的方法。如果必須這樣用,最好在存取屬性或者調(diào)用函數(shù)時(shí),先進(jìn)行強(qiáng)制性的類型轉(zhuǎn)換,至少這是給編譯器的一個(gè)提示,也幫助其他人理解你的代碼。
3) 也不要用*類型。
4) 不要將ActionScript的類聲明為動(dòng)態(tài)。
5) 注意Application.application (和其他的無(wú)類型的框架屬性). 這個(gè)屬性有一些古怪.??他應(yīng)該是Applicaton類型的,因?yàn)樗赶虻膶?shí)例必須是Application的子類. 但實(shí)際上他的類型是'Object', 無(wú)法應(yīng)用編譯時(shí)的檢查。如果你一定要用,最好也進(jìn)行類型的強(qiáng)制性轉(zhuǎn)換。:
MyApplication( Application.application ).functionCall();
6) 封裝你的Xml。使用Xml與Server進(jìn)行數(shù)據(jù)的交互非常方便,但是盡量避免使用Xml作為核心數(shù)據(jù)模型。從服務(wù)器收到數(shù)據(jù)后,盡量把Xml轉(zhuǎn)換為強(qiáng)類型的對(duì)象模型。在Flex應(yīng)用內(nèi)部使用Xml是繞開編譯器的作法。
7) 不要使用DynamicEvent.
8) 不要使用mx:Model。如上所述,請(qǐng)盡量使用自定義的強(qiáng)類型的類.
9) 不要使用Cairngorm中的data屬性,而應(yīng)該繼承擴(kuò)展CairngormEvent來(lái)傳遞數(shù)據(jù)。
10) 不要把編譯器的嚴(yán)格模式關(guān)掉