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