六边形架构:如何/在哪里将 2 个适配器合并到 1 个实体中

问题描述 投票:0回答:1

我目前正在尝试实现一个简单的六边形架构(在Java中,但这对我的问题来说应该不重要)。

我此时制作了 3 个模块:一个“域”模块和 2 个“适配器”模块(用于 Mongo 和 Stripe 适配器)。

在我的 MongoDB 中,我通过添加一些与域相关的数据来扩展 Stripe 的帐户。

Stripe 适配器只是向 Stripe API 发送请求。

在我的域中,我希望有一个 AccountEntity,它应该具有有关帐户的 Stripe 信息和数据库信息。

所以我的主要问题是:我应该在哪里进行合并,因为适配器彼此不认识并且域不认识任何适配器?

我还有一个附带问题:在我的域之外使用 Stripe 适配器是否值得?知道我的域是“条纹耦合”。我觉得没有必要添加大量样板代码来将 StripeEntities 重新映射到 domainEntities。

提前感谢您的时间和回复:)

coding-style implementation hexagonal-architecture
1个回答
0
投票

您应该创建一个新的适配器,负责调用 2 个现有适配器并合并它们的内容。这个新适配器是一个适配器复合材料。

您的域只会调用这个新适配器。您的域不得知道合并步骤。

这样做,您仍然可以使用 Mongo 和 Stripe 的专用适配器,并保持它们的潜在发展。

© www.soinside.com 2019 - 2024. All rights reserved.