2

簡単に言えば、私のドメインでは、ユーザーが、さまざまな状態と遷移、およびそれらの状態で許可される動作を含む (個人またはチームに関する) ストーリーを送信できます。

したがって、デザインのこの状態では、ユーザーは下書きを作成してストーリーを送信しています。私のドメインには、ストーリー、チーム、およびチーム メンバーが含まれています。

私の最初の質問は、完全な集計をロードする責任があるのは誰ですか? アプリケーション層は、当面のタスクに基づいてこれを指定する必要がありますか? すべてのデータをロードする必要があることを本当に知る必要があるのでしょうか? それとも、関連付けられたデータを常に熱心にロードするリポジトリに属する​​べきでしょうか? 遅延読み込みを使用することもできます (透明度は少し怖いかもしれません)。

次のタスクでは、ストーリーにコメントを追加できるようにし、ユーザーがストーリーを表示するたびにレコードを作成する必要があります。ストーリーがなければ意味がないので、これは集計に属しますか? これが私の混乱です。それらが集約に属している場合、コメントを追加するとき、または単に表示されたレコードを追加するときに、集約全体をロードする必要がありますか?

ご覧のとおり、私は DDD の初心者です。

ありがとう!

4

1 に答える 1

2

これが EF でどのように機能するかはわかりませんが、NHibernate を使用すると、アプリケーション レイヤーでリポジトリから集計ルートを読み込み、遅延読み込みが有効になります (EF にも同じ遅延読み込み機能があると思います)。

コメントは、ストーリーの集約の下でアクセスされます (ここでも、遅延読み込みが役に立ちます)。

ストーリービューをストーリーの下に置くつもりはありません。ストーリー自体とは直交する概念のように聞こえるからです。ユーザーのログイン情報 (最終ログイン時間など) をユーザーに追加することで、以前に問題が発生しました。それは好都合でしたが、私のモデルを台無しにしました。あなたの走行距離はそれによって異なる場合があります。

于 2011-07-19T16:33:13.697 に答える