将GWT MVP模式转换为Vaadin

4
在使用MVP模式+Hibernate开发基于GWT的应用程序数个月后,我发现每一次对应用程序进行微小更改都非常痛苦,并且小部件看起来很差。 我还评估了Vaadin,它看起来非常有前途。数据绑定允许我忘记DTO转换的方式似乎很有趣,而且最终结果看起来非常专业,因此我几乎已经决定使用Vaadin重新完成工作。 问题是,我非常喜欢在GWT中使用MVP的代码清晰度,但我无法找到如何将其适应于Vaadin的合理解释,而不必放弃已经完成的大部分工作。我的主要关注点是如何在Vaadin中使用GWT类History和Eventbus进行代码适配。是否有人已经经历过这个过程,可以向我们展示方向?或者,也许在使用Vaadin时不要使用MVP会有一些我现在无法预见的原因吗?
4个回答

1

感谢Jonas的回答。我已经查看了Vaadin的导航器,但看起来还是测试版。 最终,我决定不坚持使用GWT MVP,并遵循Vaadin提供的其中一个模式。

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

我用了一周时间完成了它,我感到非常欣慰,因为不必处理复杂的DTO转换和RPC调用。


0

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


0

MVP(Model View Presenter)实际上是Vaadin应用程序展示层的首选结构方式,甚至被Vaadin开发团队推荐和使用。事实上,官方的Vaadin高级培训课程中的一个主要部分就专门介绍了MVP模式。我参加了这个课程,发现培训中的MVP部分是最有用的部分。

MVP的基本概述现在甚至成为了Vaadin之书-高级应用架构的一部分。

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


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接