1

ドメイン駆動設計について:

ドメイン モデル、リポジトリ、およびサービスがあります。私の質問は、ドメインのモデリングに関するものです。

たとえば、Employee、CountryId、State Id のデータベース テーブルがあります。

  1. ドメイン オブジェクトをどのようにモデル化しますか? ID またはリテラル値でモデル化しますか?
  2. どの時点で Id 値をリテラル値に解決しますか?
  3. サービスを使用してリポジトリの CRUD 操作を指定する必要がありますか?それともアンチパターンですか?

どうぞよろしくお願いいたします。

4

1 に答える 1

0

ドメイン オブジェクトをどのようにモデル化しますか? ID またはリテラル値でモデル化しますか?

ID はドメインの一部ですか、それともリレーショナル データベースでのみ使用されますか? 後者の場合、id を使用してモデル化することはありません。したがって、厳密に言えば、id をエンティティに保存することも許可されていませんが、これにはデータ転送オブジェクトを作成する必要があり、おそらくほとんどすべての方法でエンティティをミラーリングします。したがって、個人的にはDDDをそれほど厳密には受け止めていません。

どの時点で Id 値をリテラル値に解決しますか?

インフラストラクチャ層がこれを処理する必要があります。

サービスを使用してリポジトリの CRUD 操作を指定する必要がありますか?それともアンチパターンですか?

サービスはリポジトリを呼び出すことができます。ただし、コードベース内で同じ効果を (一見) 達成する方法が 2 つある場合は、アンチパターンになります。サービスを上位レイヤーに公開し (そしてそのレイヤーからリポジトリを非表示にして)、それらのサービス内でリポジトリを使用することができます。その間に、いくつかの追加のロジックを含めることができます。

于 2013-06-18T17:31:53.450 に答える