little-hands/ddd-q-and-a

usecaseから、domainオブジェクトのidを必要とするrepositoryのメソッドを呼び出そうとしているのですが、引数にはdomainオブジェクト自体を渡した方が良いでしょうか。usecase側にrepositoryの仕様を漏らさ...

Opened this issue · 0 comments

Question

usecaseから、domainオブジェクトのidを必要とするrepositoryのメソッドを呼び出そうとしているのですが、引数にはdomainオブジェクト自体を渡した方が良いでしょうか。usecase側にrepositoryの仕様を漏らさないために、domainオブジェクト自体を渡した方がいいと思っています。

Answer

ご質問が更新処理なのか検索処理なのかによって事情が変わりますね。更新だとすると、リポジトリには集約単位で入出力するべきなので、ドメインオブジェクト自体を渡しましょう。
検索の場合は、idを条件に検索するだけであればidだけ渡す方が条件が明示的で良いと思います。