2013-04-02 64 views
1

我正在使用100%gxt代碼的這個項目。現在我們有另一個使用GWT MVP模式編寫的小型項目,我們的任務是將兩個項目合併爲一個。所以我們幾乎會在gxt和mvp代碼(帶有活動和地點)之間來回調用方法調用。我是一個使用mvp模式的新手,如果把兩者結合起來真是個好主意,那麼它就是一種混淆。另一個(小)項目過去也是gxt,直到它被mvp模式重寫。因此,我可以選擇返回到舊的gxt代碼或將新的mvp模式集成到主要的gxt應用程序中。但由於gxt不支持活動/位置概念,因此它不直接從gxt中調用mvp代碼。您需要調用mvp代碼時傳入虛擬數據以模擬地點等。另外,當從一個地方到另一個地方時,在mvp代碼中存在問題,例如當在服務器端的rpc呼叫期間存在時間延遲時,屏幕變成灰色(因爲當前視圖已經停用並且新視圖沒有' t初始化)等待rpc在導航到下一個地方之前返回。單個應用程序中的GXT + GWT MVP?

所以,我真的很感激在MVP領域的專家對這種情況... ...

+0

您正在使用哪個版本的GXT? GXT 3支持更新的GWT功能(例如場所和活動,RequestFactory,UiBinder等)。另外,請注意GWT Activities和Places不是MVP架構,雖然它可以用於MVP應用程序。 –

回答

0

在演示如何處理我堅持任何與數據操作和測試的代碼,或任何使視圖啞任何意見。這就是說我喜歡讓演示者控制視圖,但是有很多灰色區域可以讓我說什麼是有效的,並且可以迭代。最好的方法是建立一個JUnit測試並測試演示者邏輯,至少這是我們用GWTP做的。

A & P並沒有真正的建立嚴格的MVP的方法,或者如果在A &中建立MVP方法可能會有所不同。但我可能會將數據操作邏輯粘貼到Place或Activity中。

我有這裏可用的請求工廠,這將允許數據源。 https://github.com/branflake2267/Archetypes/blob/master/archetypes/gwt-activitiesandplaces-requestfactory/src/main/java/org/gonevertical/project/client/application/home/HomePlace.java#L16

在我使用GXT的最新項目中,我使用的是MVP框架的GWTP,它非常適合遵循嚴格的可測試MVP模式。

我在演示者中有GXT數據對象。這個項目還很年輕,所以我仍然在忙於擺放東西。但我認爲它至少可以在本演示文稿中給出GXT對象放置的角度。 https://github.com/branflake2267/Project-Manager/blob/master/Directory/src/org/gonevertical/pm/directory/client/application/widgets/archetype/list/ArchetypeListPresenter.java