因為客戶不滿意界面設(shè)計,人家看中了兄弟單位用的系統(tǒng)的樣子,可他卻不知那時cs程序,要想用bs做成那樣的效果還是先天不足,就這樣開始了GWT GXT的探索,一邊摸索一邊用GXT重寫這個系統(tǒng)
現(xiàn)在想想 經(jīng)歷了三個階段
剛開始是demo階段,因為不知道路走不走的通,全面摸索GXT能實現(xiàn)的效果,也沒注意模塊的規(guī)劃,甚至就一個類
而后發(fā)現(xiàn)還是能走通的,就開始添磚加瓦,發(fā)現(xiàn)代碼越加越亂,決心重構(gòu),定義了多個包,多個類負(fù)責(zé)不同的功能模塊,定義了一些Panel,一下子清晰多了,也遇到了不同模塊間互相調(diào)用的問題,自己想當(dāng)然的辦法就是在一個類中聲明每個模塊作為屬性,就像一個總管,每個屋子的鑰匙我都有了,也認(rèn)識到了這樣的缺點,一些模塊中的事件不等不在這個主管中定義
現(xiàn)在Now,用一天時間再次改寫,仿照Gxt中的例子Explorer
1、將各個模塊定義成com.extjs.gxt.ui.client.mvc.View,View中必須實現(xiàn)方法handleEvent(AppEvent event),負(fù)責(zé)處理發(fā)給自己的事件
2、為每個View定義com.extjs.gxt.ui.client.mvc.Controller,每個Controller中包含View,在這里定義View要處理的事件
3、在Dispatcher中注冊每個Controller
這樣,每個View各司其職,他們各自有各自的功能,會接收為他們定義的所有事件并處理,發(fā)送事件Dispatcher.forwardEvent(appEvent);
感覺這次改寫后 速度還沒有改寫前的快,現(xiàn)在每次操作url會自動添加Hash,想把它去掉,一直沒找到根結(jié)