2013-04-02 19 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