私はディスカッション、コメント、およびユーザーを持っています。私は各ユーザーの未読コメント数を表示したい。問題は、未読のコメントの数を提供するコードをどこに置くべきですか?これはドメインの一部ではなく、ただのプレゼンテーションです。未読のコメントはDDDでカウントされます
私の考えはUnreadCommentsRepositoryに依存するUnreadCommentsCounterを作成し、DiscussionIdとUserIdを受け入れ、整数を返します。 DiscussionPayloadObject(スマートDTO)のDiscussion []にアクセスして、Presentationレイヤに必要なものを返す、アプリケーション層のどこかのUnreadCommentsCounterにアクセスします。
質問は以下のとおりです。私はUnreadCommentsCounter自体を維持する必要があり
- ?アプリケーションでは? その場合は、アプリケーション/サポートまたはアプリケーション/サービス または...のどのフォルダにありますか?
- UnreadCommentsRepository のデータをUnreadCommentsCounterに直接入力するか、UnreadCommentsCounter値オブジェクトを追加してUnreadCommentsCounter内で使用する必要がありますか?その場合、 値オブジェクトが必要な場合は、どこに保持する必要がありますか?おそらくドメインにはありません。次へ を未読コメントに追加する?
Domain \ Write \ DiscussionEntityがある場合、DiscussionEntityRepositoryInterfaceはどこですか?私が理解しているように、それはDomain \ Read \ Discussion \ DiscussionEntityRepositoryInterfaceにあります。しかし、CQRSでは、読み書き用のリポジトリは2つの異なるリポジトリです。 –
とにかく「私の」CQRSの場合、ドメイン\モデル\ディスカッション\ *のエンティティの隣に書込みと読込みの両方のリポジトリを配置していれば、UnreadCommentsをそこに置くこともできます:Domain \ Model \ Discussion \ UnreadComments \ *。 –
モデルを分割する必要があります(W - R)。私はあなたの "あなたの"建築に分かれていません。また、 'UnreadComments *'は明らかにreadmodelです。 –