【问题标题】:Translating GWT MVP Pattern to Vaadin将 GWT MVP 模式转换为 Vaadin
【发布时间】:2011-04-11 09:40:29
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: gwt vaadin


    【解决方案1】:

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

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

    我已经在一周内完成了,不必处理复杂的 DTO 转换和 RPC 调用让我感到如释重负。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        在谈论 wiki 时,我想到了用 MVP 词搜索它。
        我找到了Building Vaadin Applications on top of Activiti 页面,其中包含使用 MVP 模式的代码。

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

        这些资源我还没用过……

        【讨论】:

          【解决方案4】:

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-02-24
            • 2016-02-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多