我目前正在尝试实现一个简单的六边形架构(在Java中,但这对我的问题来说应该不重要)。
我此时制作了 3 个模块:一个“域”模块和 2 个“适配器”模块(用于 Mongo 和 Stripe 适配器)。
在我的 MongoDB 中,我通过添加一些与域相关的数据来扩展 Stripe 的帐户。
Stripe 适配器只是向 Stripe API 发送请求。
在我的域中,我希望有一个 AccountEntity,它应该具有有关帐户的 Stripe 信息和数据库信息。
所以我的主要问题是:我应该在哪里进行合并,因为适配器彼此不认识并且域不认识任何适配器?
我还有一个附带问题:在我的域之外使用 Stripe 适配器是否值得?知道我的域是“条纹耦合”。我觉得没有必要添加大量样板代码来将 StripeEntities 重新映射到 domainEntities。
提前感谢您的时间和回复:)
您应该创建一个新的适配器,负责调用 2 个现有适配器并合并它们的内容。这个新适配器是一个适配器复合材料。
您的域只会调用这个新适配器。您的域不得知道合并步骤。
这样做,您仍然可以使用 Mongo 和 Stripe 的专用适配器,并保持它们的潜在发展。