首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DDD - java 9模块项目管理

DDD - java 9模块项目管理
EN

Stack Overflow用户
提问于 2019-10-31 09:36:37
回答 1查看 973关注 0票数 0

我试图使用java 9中的六角形体系结构(使用maven模块)来组织DDD项目。是否有任何已经在产品系统中使用的工作示例?所以,到目前为止,我只知道如何做到这一点:

这里有domain模块,它包含所有命令、事件、域模型(包含聚合、实体和值对象),以及存储库接口+域服务接口(如果在基础设施上进行中继)和实现。其他application模块持有应用程序服务,其中我拥有应用程序的“用例”(编排聚合加载等的简单方法)。

那么这些在十六进制体系结构中的适配器呢?每个适配器是否应该在模块中分离(例如,在mysql-adapter中,我可以实现依赖于基础设施的存储库?另外,有单独的模块为兔for集合体?

任何关于这方面的例子都会很棒!

EN

回答 1

Stack Overflow用户

发布于 2019-10-31 19:30:30

我正在用java 9和maven编写一个六角形架构示例。仍未完成,我将在完成后发表。

但到目前为止,我可以告诉你我的方法:

  • 一个模块用于六边形(它不需要其他模块)。对于每个端口,我都有一个模块导出的包。
  • 为每个适配器提供一个模块。需要六边形模块,主
  • 一个模块。需要六边形和所有适配器模块。没有其他模块需要主模块。它构建了整个系统并运行驱动程序适配器。

为了为每个驱动端口选择一个适配器,我使用了serviceloader机制。

在这个例子中我不使用DDD,但是如果我使用它,结构将是:

六边形将是一个聚合器模块(没有源代码),只有2个需要传输到应用程序模块和域module.

  • Application模块需要域模块。它导出的包是驱动端口(用例),也可能是驱动端口(由驱动adapters.

  • Domain实现的)不需要模块。它导出作为驱动端口的包。

我推荐由Sander和Paul编写的“Java9Modulity”一书。

我将在

https://softwarecampament.wordpress.com/portsadapters/

我在github的例子如果你想看完的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58640383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档