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

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