解析重寫Flex組件的原因和規(guī)則
在學(xué)習(xí)Flex組件時你可能會遇到重組Flex組件的概念,這里從三個方面向大家介紹重寫Flex組件,相信本文介紹一定會讓你有所收獲。
重寫Flex組件
一、為什么要重寫Flex組件
1、在Flex已有Flex組件無法滿足業(yè)務(wù)需求,或是需要更改其可視化外觀等特性時,直接進(jìn)行繼承擴(kuò)展。舉例,繼承BUTTONFlex組件的長文本卻不自動換行的自定義控件。
2、為了模塊化設(shè)計或進(jìn)一步重用,需要對Flex組件進(jìn)行組合。比如一個包括TEXTAREA,BUTTON的復(fù)合控件。
二、重寫Flex組件需要經(jīng)常換位思考的三個角色
1、作為重寫Flex組件的使用者,有哪些需求。比如需要在MXML標(biāo)簽和AS代碼中暴露哪些屬性及對應(yīng)默認(rèn)值、事件和事件的處理邏輯。
2、重寫Flex組件一般需要使用Flex原有Flex組件,要站在原有開發(fā)者的角度了解設(shè)計規(guī)則。
3、作為重寫Flex組件的設(shè)計者,在滿足需求的情況下盡量做到可復(fù)用、低耦合易擴(kuò)展等設(shè)計原則,讓新Flex組件像Flex原Flex組件一樣好用。
三、重寫Flex組件AS方式和MXML方式的采用規(guī)則
1、MXML文件和AS文件最后都會被編譯成AS類,只不過MXML編譯速度稍慢一些
2、如果MXML和AS都能完成的一個簡單Flex組件,MXML更容易被創(chuàng)建和控制布局
3、當(dāng)要覆蓋Flex組件的某些方法時只能用AS方式
4、創(chuàng)建一個直接繼承UIComponent的子類時只能用AS
5、創(chuàng)建非可視化Flex組件比如Formatter、validator、Effect……時,只能用AS
6、要為Flex組件添加日志功能時,只能用AS.
【編輯推薦】