【问题标题】:where exaclty ports should be implemented?究竟应该在哪里实施端口?
【发布时间】:2019-02-09 13:01:58
【问题描述】:

在使用六角架构的 DDD 实现中,应用程序可能具有端口(接口)和适配器(客户端)。在我当前的项目中,我正在实现基于事件驱动的微服务。我有一个域应用程序服务层和基础设施层和适配器层(用于命令侦听器)。 我搜索了许多实现和基础设施层,其中包含适配器和端口。 现在基础设施层一次将调用应用程序服务层,根据我的理解这是错误的。

这是正确的实现吗?添加端口/命令侦听器的位置。

【问题讨论】:

    标签: event-handling domain-driven-design hexagonal-architecture


    【解决方案1】:

    我在 DDD 层和六边形架构之间做如下匹配:

    • 驱动端口是 DDD 应用服务接口,它们是六边形的左边缘。

    • 六边形里面分为DDD应用服务实现和DDD领域模型。

    • 驱动端口(例如存储库接口,或由基础设施实现的服务接口)是六边形的右边缘。

    • 内六角实现驱动端口,使用驱动端口。

    • 驱动程序适配器(例如,REST API 控制器或 Web 应用程序)使用/调用驱动程序端口。驱动适配器是 DDD 的表示层。

    • 驱动适配器实现驱动端口。驱动适配器是 DDD 的基础设施层。

    如果你想看看,这是我写的一篇解释六边形架构的文章:

    https://softwarecampament.wordpress.com/portsadapters

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2012-06-29
      • 2017-08-14
      相关资源
      最近更新 更多