花了三周時間,給公司寫了一個基于Flex的web流程設(shè)計器原型系統(tǒng)。既然是原型系統(tǒng),肯定有很多細微之處不完善的,但作為未來產(chǎn)品組件一部分,其預(yù)研和構(gòu)架部分,還是拿得出手的。
Flex本身在圖形化方面提供了很良好的支持,但是要想實現(xiàn)Model與視圖的分離、Command的處理等基礎(chǔ)事情,這個就無法與Eclipse GEF比了。
于是首先不得不模擬GEF,在底層提供一套Model-EditPart的MVC構(gòu)架,以及Command Framework框架。這兩個基本框架一搭建,就可以很好的解決“Model”、“View”、“Action”之間的響應(yīng)和處理,以及圖形的顯示和渲染。
改天有時間,把這套構(gòu)架的思路和實現(xiàn),與大家分享一下,先show一下圖片吧:
拖拽本身其實并不復(fù)雜,主要如何解決Model與View之間的映射和響應(yīng),這個是最主要關(guān)鍵。同時,在Pallete中的Activity圖標和類型是要能夠很容易擴展的。
所有的Model都需要實現(xiàn)toXML和fromXML接口,這樣就可以很容易實現(xiàn)對象與xml的映射。當然,Model本身也需要引入一些Listener機制,讓視圖和其他編輯組件,可以在Model更改后響應(yīng)變化。
對于屬性Panel,原本是設(shè)計成“動態(tài)配置化加載”的,沒想到,F(xiàn)lex本身對動態(tài)加載Class竟然支持的不理想,造成這一塊沒法良好的實現(xiàn),寒。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
