5/12

一般的な用語としてDAOとRepositoryの責務・役割に違いはありますか?個人的にこれらは同じ役割を担っているように感じています。

現状自分が触っているコードではServiceからDAO、DAOからRepositoryを呼んでいるのですが、DAOからRepositoryを呼ぶことにものすごく違和感があります。(コード自体はDDDの要素はなく、JPAのEntityを使い手続き的に記述する形式です。)

明確に違います。リポジトリは「集約単位で」永続化層との出し入れを行います。DAOは一般にテーブル単位であることが多いですね。 ご質問のDAOからリポジトリは確かに変ですね。リポジトリのインターフェイスがドメイン層にあり、インフラ層に実装クラス、その中でDAOを使うというのが良いと思います。

スポンサーリンク

スポンサーリンク

スポンサーリンク