【发布时间】:2019-03-17 12:32:00
【问题描述】:
我想我只是找不到正确的 google 搜索词组,所以我尝试在这里提问。
我尝试建立一个 Maven 项目,它应该满足以下功能和技术要求:
- 应该只有 1 个应用程序和 1 个用户登录
- 每个用户可以有不同的用户角色,以便他可以访问不同的功能问题。
- 应在独立的服务(单一职责原则)中实施每个可能的操作,以避免随着时间的推移出现紧密耦合。
- 应该是带有 vaadin 的 spring-boot 应用程序
- 独立的模块最终应该在组合到一个应用程序时使用相同的数据库。
我现在的问题是:是否有任何指南如何设置一个项目,我想在其中独立实现不同功能问题的功能,然后将它们组合到 1 个具有 1 个登录和 1 个数据库的单个应用程序(用户自然不不想为每个功能问题启动单独的应用程序)?
我希望每个功能问题尽可能保持独立以避免紧密耦合,但我只是不知道如何在实施阶段结束时将它们组合成 1 个具有 1 个授权和身份验证服务的单个应用程序。
对指南或架构风格名称的任何提示都表示赞赏。
【问题讨论】:
-
为什么你的 Maven 项目必须是多模块的?您可以通过定义多个类来分离您的功能,每个类都是 Vaadin 类
UI的子类。 -
“必须”是一个硬词。这是 - 就像我在自我接受的答案中提到的那样:-) - 设置的一个想法。问题是,随着时间的推移,同一个项目中的子类往往会依赖于我想要避免的其他类,因为新员工不知道如何避免新功能的紧密耦合。但我已经找到了我喜欢的解决方案(微应用)。
标签: maven spring-boot vaadin multi-module