実践DDD本 第11章「ファクトリ」~複雑な生成をユビキタス言語でシンプルに~ リポジトリとは 一般的に「リポジトリ」とはデータの「保管庫」を表します。ソースコードリポジトリであればGitやApache Subversionが有名ですが、DDDにおけるリポジトリは、エンティティや値オブジェクトから構成される集約の格納と取得を担当します。リポジトリは、クライアントへ集約を提供し、背後のデータベースとのやり取りを隠ぺいします。 通常、集約とリポジトリの関係は一対一になります。例えば「注文」の集約を利用したい場合「注文リポジトリ」を使用します。クライアント側はリポジトリのおかげで、物理的な構成(RDBなのか、NoSQLなのか等)を意識せずに、簡単に集約を操作できます。 リポジトリで集約を操作する流れ リポジトリはデータベースにアクセスしたり、ファクトリを利用したりします。その流れを見てみましょう
![実践DDD本 第12章「リポジトリ」~集約の永続化管理を担当~](https://cdn-ak-scissors.b.st-hatena.com/image/square/b7cfe4070f7c6d5bb937d3782b47f03760746836/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fimages%2Farticle%2F11048%2F11048_og.jpg)