将GWT MVP模式转换为Vaadin

将GWT MVP模式转换为Vaadin,gwt,vaadin,Gwt,Vaadin,在使用MVP模式+Hibernate开发基于GWT的应用程序几个月之后,我已经到了一个地步,应用程序中的每一个小更改都是一件痛苦的事情,而小部件看起来非常糟糕 我还评估了瓦丁,它看起来很有希望。数据绑定让我忘记了DTO转换的方式,看起来很有趣,但最终的结果看起来非常专业,所以我几乎确信要用Vaadin重做这项工作 关键是,我非常喜欢GWT中MVP的代码清洁度,但我无法找到一个合理的解释,说明如何将其适应于Vaadin,而不放弃已经完成的大部分工作 我对代码自适应的主要关注点是如何在Vaadin中

在使用MVP模式+Hibernate开发基于GWT的应用程序几个月之后,我已经到了一个地步,应用程序中的每一个小更改都是一件痛苦的事情,而小部件看起来非常糟糕

我还评估了瓦丁,它看起来很有希望。数据绑定让我忘记了DTO转换的方式,看起来很有趣,但最终的结果看起来非常专业,所以我几乎确信要用Vaadin重做这项工作

关键是,我非常喜欢GWT中MVP的代码清洁度,但我无法找到一个合理的解释,说明如何将其适应于Vaadin,而不放弃已经完成的大部分工作

我对代码自适应的主要关注点是如何在Vaadin中使用GWT类、History和Eventbus


以前有没有人经历过这个过程,可以为我们指明方向?或者,也许有一些原因,在与瓦丁合作时,我现在无法预见,不要与MVP为伍

如果使用历史记录进行链接,请参见
即使您选择不使用附加组件本身,您也可能希望查看源代码-它们只有几百行。

谢谢您的回答Jonas。我已经检查了Navigator的Vaadin,但看起来是beta版 最后,我决定不坚持GWT MVP,而是遵循Vaadin中提供的模式之一

最复杂的是将登录过程从GWT mvp移动到Vaadin,但在指南的帮助下并不难


我在一周内就完成了,不用处理复杂的DTO转换和RPC调用,我感到非常欣慰。

在谈到wiki时,我想到了用MVP word搜索它。
我找到了一个页面,其中包含使用MVP模式的代码

它使用项目。
注意还有


我还没有使用这些资源…

MVP以更喜欢的方式构造Vaadin应用程序的表示层,Vaadin开发团队也推荐并使用了这些资源。 实际上,官方课程的一个主要部分是模型-视图-演示者模式。我参加了这门课程,我发现培训中的MVP部分是最有用的部分

MVP的基本概述现在甚至是瓦丁之书的一部分-

MVP更多的是一种划分表示层的架构原则,而不是实际的设计模式。因此,有许多不同的实施方法,每种方法都有不同的优缺点。应根据具体应用选择适当的实现。对于更简单的应用程序,更好的解决方案可能是根本不使用它,因为所获得的好处不必超过增加的复杂性。在这种情况下,Vaadin可能是实现表示层划分的有趣替代方案