私はnTierアーキテクチャを六角形のアーキテクチャに移行しています。 私のドメインは今ではよく定義されており、すべてのインフラストラクチャ依存性のためのインターフェイスを持っています。 データベースリポジトリを見ると、いくつかのデータベースがあり、Infra側の各レポを実装するクラスが1つあります。 私はDBの依存関係について正しい解決方法を教えてください:六角形のアーキテクチャにおけるデータベースリポジトリの依存性
1-ドメイン側に1つのインターフェイスを用意してデータアクセスを処理し、インフラストラクチャの実装に頼って、すべてのデータベースすべてのリポジトリ実装が呼び出されるファサードのようなリポジトリ。このアプローチはすでにnTierアプリケーションで使用しているものと同じですが、ファサードとリポジトリは現在のデータベースレイヤーです。
2ドメイン側で必要な各データベースのインターフェイスがあります。各インタフェースはInfra側で実装され、対応するDBにアクセスします。レイヤーを薄くしますが、これにより、データ管理ロジックがドメインに追加されます。ドメインはデータがどこにあるかを気にするべきではなく、インフラはこれに対処する必要があります。一部のデータを別のデータベースに移動されている場合は、対応するインタフェースは、ドメイン側で変更する必要がある(例えば、別のインターフェイスにこのデータを公開する方法を移動する)
私に知らせて、良い質問です