Last modified at: March 28, 2017 リポジトリとDAO、どちらもデータベースなどのデータソースにアクセスするための設計パターンです。しかし、データベースにアクセスする、では括りが大き過ぎますね。 今回はリポジトリとDAOの違いについて書きます。クラスの役割を明確にした設計ができるように、違いをきちんと考えてみたいと思います。 仕組みを意識せずにデータアクセスできる、それがDAO separates a data resource’s client interface from its data access mechanisms – Design Patterns: Data Access Object データリソースを扱う窓口をデータアクセスのメカニズムから分離するのがDAOです。SQLなどを使ったデータアクセスを業務ロジックから切り離そうということですね
![知ってる?リポジトリとDAOの違い | blog.fukuchiharuki](https://cdn-ak-scissors.b.st-hatena.com/image/square/7171a3206140ca6e2f7ceb57250266e4b05e3654/height=288;version=1;width=512/http%3A%2F%2Fblog.fukuchiharuki.me%2Fassets%2Fimages%2Ffig%2F2017-03-28-repository-and-dao.png)