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