共享内核在洋葱架构中的位置

Location of Shared Kernel in Onion Architecture

我是第一次使用洋葱架构创建应用程序。到目前为止,洋葱架构的所有概念对我来说都很有意义,但我想知道的是,您将领域驱动设计的 "Shared Kernel" 放在洋葱架构中的什么位置?

我看到有人说它应该放在基础设施所在的洋葱圈的外圈。这看起来是否正确,因为我倾向于将我的抽象 ValueObject class 放在共享内核中,但由于洋葱架构的限制,我在技术上无法从我的 ValueObject class 派生内部领域层。

关于最佳实践的任何想法?

将您的 "Shared kernel" 放入领域层。这个内核在许多有界上下文之间共享你的域模型,并且不需要上下文之间的一些翻译机制