【问题标题】:Where to instanciate adapters in hexagonal architecture在六边形架构中实例化适配器的位置
【发布时间】:2021-10-07 06:40:07
【问题描述】:

我正在构建一个简单的应用程序,并尝试遵循六边形架构的最佳实践。 我的主要入口点是我的手动依赖注入启动器,我通常将此代码视为应用程序部分,但我必须实例化适配器,从而在适配器和应用程序部分打破依赖规则之间创建硬耦合。 那么我应该在哪里手动实例化适配器?

【问题讨论】:

    标签: hexagonal-architecture


    【解决方案1】:

    这实际上是一个层耦合问题。

    我认为,您可以将您的启动器放在您的六边形中的Adapter's layer 中,因为您的十六进制应该不知道Adapters 的实现。

    您还可以将启动器放在源代码的根目录或应用程序的低级配置部分。

    另外,想想自动注入(就像Java中的CDI)。

    【讨论】:

    • 我的错,我错误地将 DDD 与六边形概念混合在一起。我将尝试重新提出问题。
    • 我重写了我的答案。
    • 好的,它不太直观,但我认为是最好的解决方案。我认为CDI只是隐藏了问题。但将 main 视为适配器有助于更好地构建应用程序和不同的配置。谢谢。
    • 不客气。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 2018-10-30
    • 2022-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多