の例を通して六角形のアーキテクチャを理解しようとしていRepository
ます。このセットアップでは、次のレイヤーがあります: フレームワーク (インフラストラクチャ) -> アプリケーション -> ドメイン。
私はドメイン部分に持っています.aを介して重複がないかどうかUser
を検証したいとしましょう. この情報を取得するには、どこかからこの情報が必要です。ドメインレイヤーにインターフェースを再度追加しました。このようにして、上のレイヤーで解決できます。User
DuplicateUsernameValidator
UserRepository
これは私にとってトリッキーになる部分です。のロジックを実装したいのですがUserRepository
、これをアプリケーション層に実装するのは意味がありません。なぜなら、永続化コンテキストはインフラストラクチャ層 (JdbcUserRepository
または などJpaUserRepository
) にあるからです。しかし、六角形の構造を正しく理解していればUserRepository
、インフラストラクチャ レイヤーにインターフェイスを直接実装することはできません。これは、インフラストラクチャ レイヤーがドメイン レイヤーを認識する必要がないためです。
私は何が欠けていますか?