4

在使用 MVP 模式 + Hibernate 开发基于 GWT 的应用程序几个月后,我发现应用程序中的每一个小改动都很痛苦,并且小部件看起来很糟糕。

我还评估了 Vaadin,它看起来很有前途。数据绑定让我忘记了 DTO 转换的方式,看起来很有趣,而且最终的结果看起来也很专业,所以我几乎确信要重做 Vaadin 的工作。

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

我对代码适配的主要关注点是如何将 GWT 类、History 和 Eventbus 与 Vaadin 一起使用。

在此之前有没有人经历过这个过程,可以为我们指明方向?或者,也许有理由在与 Vaadin 合作时不与 MVP 混为一谈,这是我现在无法预见的?

4

4 回答 4

1

感谢乔纳斯的回答。我检查了 Navigator 中的 Vaadin,但看起来是 beta 最后我决定不坚持使用 GWT MVP,而是遵循 Vaadin 中提供的模式之一。

最复杂的是将登录过程从 GWT-mvp 转移到 Vaadin,但在wiki指南的帮助下并没有那么困难。

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

于 2010-09-21T09:13:05.883 回答
0

MVP 实际上是构建 Vaadin 应用程序表示层的首选方式,甚至被 Vaadin 开发团队推荐和使用。实际上,官方Vaadin 高级培训课程的主要部分之一就是致力于模型视图演示者模式。我参加了这门课程,我发现培训中的 MVP 部分是最有用的部分。

MVP 的基本概述现在甚至是 Vaadin 之书 -高级应用程序架构的一部分

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

于 2015-03-04T16:32:56.807 回答
0

如果您使用 History 进行链接,请参阅http://vaadin.com/addon/navigator 即使您选择不使用插件本身,您也可能想要查看源代码 - 它们只有几百行。

于 2010-09-13T17:44:20.007 回答
0

在谈论 wiki 时,我想到了用 MVP word 搜索它。
我在Activiti页面上找到了 Building Vaadin Applications,它有一个使用 MVP 模式的代码。

它使用peholmst/MVP4Vaadin项目。
请注意,还有适用于 Vaadin 附加组件的 MVP 和 UiBinder

我还没有使用这些资源...

于 2011-11-09T15:11:27.923 回答