0

集約オブジェクトについて混乱しており、それを適切にコーディングする方法がわからないため、集約オブジェクトのみがリポジトリを持っています。

UserQuestionおよびQuestionLogエンティティがあるとします。集約オブジェクトに入れる量の境界を設定する方法がわかりません。私のシステムにはユーザーがいなければ質問は存在せず、質問を添付する必要がなければ質問ログは存在しないと言えます。では、ユーザーは集約ルートになりますか?

たとえば、質問ログをどのように追加しますか?
私にとっては、ネストなどがたくさんあるようですUser.addQuestionLog。境界が集合体であり、ユニットとして見なされるべきである場合、境界がどこに行くのかわかりませんか? 私にとってUserは、1 つの集合体であり、Question別の集合体であることがより自然です。しかし、これを実際に知る方法がわかりません。

また、質問にもカテゴリを含めることができます。カテゴリも質問の一部になりますか? なぜ/なぜしないのですか?それらを見つける方法は?

4

1 に答える 1

2

オブジェクトについて考えないでください。DDD は実生活に関するものです。

本当の質問は次のとおりです。

  • X は Y なしで存在できますか?
  • Y は X の一部ですか?

したがって:

  • ユーザーは疑いなく存在できますか? はい
  • ユーザーが終了した場合でも質問を利用できるようにする必要がありますか? はい
  • ログはユーザーの一部ですか? いいえ
  • ログは質問の一部ですか? いいえ(ユーザーに属していますが、ユーザーの一部ではないため)
  • カテゴリは質問の一部ですか? 通常はい

したがって、最終的に 3 つのルート集合体になります。

カテゴリは値オブジェクトです

于 2012-10-26T14:35:01.100 に答える