我目前正在开发三个 Vaadin 应用程序,我真的觉得我错过了一些东西。我以前使用过 Spring MVC,架构清晰且解耦,您将服务注入控制器,而不是将控制器耦合到 UI 等等。
现在在 Vaadin,情况就不同了。所以如果有任何 Vaadin 专家,让我问你几个问题:
问题一:
- 是否可以直接向 UI 组件注入服务(或 DAO)?
- 示例:在电子邮件应用程序中负责显示联系人的组件(ContactWidget,基于带有链接的 VerticalLayout)需要显示联系人。可以直接将contactRepository 注入这个UI 元素吗?
问题2:
- 对主应用程序的引用被传递给大量的 UI 组件,因为许多 UI 组件需要访问一些全局数据或调用主应用程序类上的全局方法
- 示例:弹出组件具有打开新窗口的按钮,它应该是应用程序中主窗口的子窗口。因此弹出组件必须引用主应用程序。
问题 3:
- UI 组件之间的依赖关系可能会变得非常疯狂。在这里可能没什么可做的,但有时感觉这个窗口并不依赖于这个依赖于弹出窗口的列表......你明白了,它看起来与我紧密相连
在我的代码转向Spaghetti之前,我想尽可能多地了解 Vaadin 的优秀设计,因此任何建议、经验和最佳实践将不胜感激。