将GWT MVP模式转换为Vaadin

时间:2010-09-12 19:09:42

标签: gwt vaadin

经过几个月的开发基于GWT的应用程序,使用MVP模式+ Hibernate,我已经到了应用程序中的每个小变化都很痛苦,并且小部件看起来非常差的点。

我也对Vaadin进行了评估,看起来非常有前景。数据绑定让我忘记DTO转换的方式看起来很有趣,但最后的结果看起来非常专业,所以我几乎确信要重做Vaadin的工作。

关键是,我非常喜欢GWT中MVP的代码清晰度,但是我还没有找到一个合理的解释,如何使它适应Vaadin,而不会抛弃已经完成的大部分工作。

我对代码适应的主要关注点是如何在Vaadin中使用GWT类,历史和事件总线。

有没有人经历过这个过程之前可以告诉我们的方式?或者,也许有理由在与Vaadin合作时不要搞砸MVP,我现在无法预见?

4 个答案:

答案 0 :(得分:1)

感谢Jonas的回答。我已经检查了Navigator for Vaadin,但看起来是测试版 最后,我决定不坚持使用GWT MVP,并遵循Vaadin提供的模式之一。

最复杂的是将登录程序从GWT-mvp移至Vaadin,但在wiki指南的帮助下并不是那么难。

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

答案 1 :(得分:0)

如果您使用历史记录进行关联,请参阅http://vaadin.com/addon/navigator 即使您选择不使用附加组件本身,您也可能想要查看来源 - 它们只有几百行。

答案 2 :(得分:0)

在谈论维基时,我有想法用MVP词搜索它 我找到了Building Vaadin Applications on top of Activiti页面,其中包含使用MVP架构的代码。

它使用peholmst/MVP4Vaadin项目 请注意,还有MVP and UiBinder for Vaadin Add-on

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

答案 3 :(得分:0)

MVP实际上是构建Vaadin应用程序表示层的首选方式,即使是Vaadin开发团队也推荐使用。 实际上,官方Vaadin Advanced Training课程的一个主要部分是专用于模型视图演示者模式。我参加了这门课程,我发现MVP部分培训是最有用的部分。

MVP的基本概述现在甚至是Vaadin书的一部分 - Advanced Application Architectures

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