2011-06-29 23 views
1

我只是想知道這是否是在GWT中分裂得太大的小部件的正確方法,或者如果我錯過了小部件/適當GWT的概念一起使用。將GWT小部件分解成更小的塊的正確方法

我從一個類(widget)開始,PCBuilder。作爲PCBuilder變得過大,我決定分支,使兩類SuggestionPanelBuildControlPanel,兩者只是分出PCBuilder的代碼放到單獨的類仍然有訪問方法PCBuilder

example

這樣一來,在我的PCBuilder類,我可以做這樣的事情,添加SuggestionPanelBuildControlPanel到在PCBuilder的UiBinder的規定,同時允許SuggestionPanelBuildControlPanel有自己獨立的UiBinder的規格標籤(TabLayoutPanel):

example

我問題是:這是正確的嗎?我的一部分人認爲「不」,僅僅因爲它不是一個很好的做法。另一方面,它工作得很好,我的Web應用程序有點分解成可管理的「部分」,這是我想要的。

感謝您的任何見解。

回答

2

除了類之間有循環依賴關係之外,這很好。

爲什麼SuggestionPanel和BuildControlPanel需要調用PCBuilder?其中是否有業務邏輯? RPC可能?把它分成另一類。

首先,您可能想看看GIN - 這會處理依賴注入。這對測試性很好。

其次,如果你的應用超出了一個「頁面」,那麼看看GWT MVP

+0

GWT MVP鏈接正是我所期待的。我將不得不閱讀什麼是依賴注入現在。謝謝。 –

1

您不應該將您的PCBuilder視爲小部件。引用gwt -

您可以使用面板中包含的小部件在GWT應用程序中構造用戶界面。小部件允許您與用戶進行交互。面板控制頁面上用戶界面元素的位置。

回到你的問題,我的意見是隻有當我可以多次使用同一元素時才創建小部件。我的佈局邏輯的其餘部分進入視圖。儘可能多的佈局不應該是小部件定義的一部分。總而言之,在css中推送樣式,在視圖中推佈局;僅在可重用(和核心)或者向現有小部件添加附加功能時進行widgetize。

相關問題