我试图使用java 9中的六角形体系结构(使用maven模块)来组织DDD项目。是否有任何已经在产品系统中使用的工作示例?所以,到目前为止,我只知道如何做到这一点:
这里有domain
模块,它包含所有命令、事件、域模型(包含聚合、实体和值对象),以及存储库接口+域服务接口(如果在基础设施上进行中继)和实现。其他application
模块持有应用程序服务,其中我拥有应用程序的“用例”(编排聚合加载等的简单方法)。
那么这些在十六进制体系结构中的适配器呢?每个适配器是否应该在模块中分离(例如,在mysql-adapter
中,我可以实现依赖于基础设施的存储库?另外,有单独的模块为兔for集合体?
任何关于这方面的例子都会很棒!
发布于 2019-10-31 19:30:30
我正在用java 9和maven编写一个六角形架构示例。仍未完成,我将在完成后发表。
但到目前为止,我可以告诉你我的方法:
为了为每个驱动端口选择一个适配器,我使用了serviceloader机制。
在这个例子中我不使用DDD,但是如果我使用它,结构将是:
六边形将是一个聚合器模块(没有源代码),只有2个需要传输到应用程序模块和域module.
我推荐由Sander和Paul编写的“Java9Modulity”一书。
我将在
https://softwarecampament.wordpress.com/portsadapters/
我在github的例子如果你想看完的话。
https://stackoverflow.com/questions/58640383
复制相似问题