六边形体系结构,我在用例之间重用代码是否违反了它的原则



你好,感谢您花时间阅读我的问题:(

我有几个用例需要从s3下载文件并将文件上传到s3。为此,我创建了一个端口和一个S3适配器,在这些用例之间共享。不知怎么的,我觉得这是一个糟糕的想法,但我不想重复代码。

这是否意味着我已经秃头设计了我的用例?

这里的正确方法是什么?

如果您有多个用例,那么您应该有多个根聚合,每个用例一个。如果有多个根聚合,则应该有多个端口,每个端口处理单个用例的持久性。由于所有用例都使用相同的S3持久性后端,因此可以实现单个适配器,该适配器实现所有端口,并处理所有用例的持久性。

这允许您稍后根据需要将任何用例移动到另一个持久性后端,而不会破坏现有代码。您可以通过为新后端实现一个新的持久性适配器来实现这一点,并将依赖项注入配置为使用这个新适配器,而不是该端口的前一个适配器

相关内容

  • 没有找到相关文章

最新更新