【问题标题】:Vaadin7 architectureVaadin7 架构
【发布时间】:2016-12-18 16:23:49
【问题描述】:

我们目前正在规划我们的项目并决定使用 Vaadin。现在我们有点难以弄清楚如何在不花费太多时间的情况下很好地组织我们的代码。看起来 MVP 对 vaadin 来说是一个很好的实践,但我们都是这个框架的新手,似乎很多人都在为它而苦苦挣扎。在我们的研究中,我们注意到只有非常抽象的教程和过时的框架。在 vaadin 书中还推荐了我们想要使用的分层架构。我们的应用程序并不太复杂(与通常的业务后端相比)。 是否有一个优雅而简单的解决方案来解耦视图,同时还使用设计器? 我们还计划使用 Spring Security 和 UI。 提前致谢

【问题讨论】:

  • 设计器(和生成的代码)如何解耦视图?
  • 恕我直言,不要使用 Designer。以编程方式构建 UI 既简单又受欢迎。 MVP 增加了多层复杂性。

标签: java spring tomcat vaadin vaadin7


【解决方案1】:

在我的最新项目中,我将 Spring 与 Vaadin 一起使用,尽管添加了许多样板,但您的课程将更小,组织更好,责任单一。就我而言,我遵循以下架构:

  • 布局:包含 UI 元素及其设计/布局的类。

  • 控制器:处理布局具有的所有事件和用户操作。一个只负责一个布局的控制器。

  • 视图:视图类是特定 URI 片段的主要“控制器”。如果它变得过于复杂或带有子视图,则会创建并注入一个控制器类。

  • Service:包含数据的业务逻辑。当“控制器”处理用户交互时,服务负责业务逻辑和数据。

  • 存储库:SpringData JPA 存储库。实现 CRUD 操作和自定义查询。

  • 模型:数据库实体。

额外的包:

  • 事件:我建议在应用程序旁边使用 EventBus。

  • 帮助者:对于那些你不知道它真正适合的东西。

  • 配置:从 application.properties 获取的配置和属性(如果使用 SpringBoot)。

使用这种模式,您将避免以意大利面条式的代码结束并在同一个类上混淆职责。关于 Vaadin Designer,这种模式是完全独立的,因为您的布局可以是纯 java 或伪 html。

【讨论】:

  • 解释得很好! vaadin4spring
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-19
  • 2016-01-11
  • 1970-01-01
  • 2012-06-01
  • 2016-05-14
  • 1970-01-01
相关资源
最近更新 更多