ddd のアプリケーション層はモデルを持つことができますか?
より明確に言うとcredential
、システム内に、ドメイン層の外側にある認証プロセスに関連するエンティティがあります。このエンティティはどこにあるのでしょうか? 私はドメイン駆動設計の初心者です。
ddd のアプリケーション層はモデルを持つことができますか?
より明確に言うとcredential
、システム内に、ドメイン層の外側にある認証プロセスに関連するエンティティがあります。このエンティティはどこにあるのでしょうか? 私はドメイン駆動設計の初心者です。
アプリケーション層は、独自のデータ表現を使用できます。これをユーザー インターフェイスに接続すると、アプリケーション層はドメイン オブジェクトを表示可能なデータに変換する必要があります。
しかし、おそらく「ビュー モデル」という意味以外では、これを「モデル」とは呼びません。
詳細がなければ、これ以上有用なことは言い難いので、例を挙げて統合の問題に答えようとします。
Vernon のサンプル アプリケーションを見ると、使用するアプリケーションから認証サービスを分離することができます。Vernon は、このために 3 つのスタンドアロン Java アプリケーションをモデル化しています。
これで、すべての認証を提供する IdentityAccess サービスができました。Tenant
そこでエンティティを作成できます。次に、独自の内部表現を使用するコラボレーション アプリ (フォーラムなど) がありますTenant
。
そのため、クライアント アプリは を取得しTenantId
て独自のTenant
オブジェクトを作成し、フォーラム スレッドをテナントに関連付けます。Tenant
s は、このアプリ内から変更または永続化されず、使用されるだけです。
あなたの主張はもっと単純かもしれません。エンティティ (ドメイン内) とその外部にいくつかの認証ロジックがある場合、「認証者」にドメインの特殊なインターフェイスを実装させ、本当に必要な場合はCredential
それをドメイン オブジェクトに挿入します。(これがポートとアダプターのアプローチです。両側でインターフェイスを指定し、具体的な実装を待つことができます。もう一方の側でインターフェイスを実装し、オブジェクトを再び注入します。)
ドメイン内から認証ロジックにアクセスする必要はないと思いますが、これを判断するにはさらにコードを確認する必要があります。
Vernon はドメイン内で AuthenticationService を使用して、間違ったログイン詳細を処理します。