リポジトリは永続化や再構築を担う
リポジトリとは
- データを永続化(保存)し、再構築(復元)するといった処理を抽象的に扱うためのオブジェクト
- オブジェクトのインスタンスを保存したい時には、直接データストアに書き込まずにリポジトリにインスタンスの永続化を依頼する。また、データからインスタンスを再構築したいときにもリポジトリにデータの再構築を依頼する。
リポジトリの責務
リポジトリの責務は、ドメインオブジェクトの永続化や再構築を行うこと。
リポジトリを利用すると、今までにドメインオブジェクトやドメインサービスに直接書かれていたデータベースに関わる操作を分離することができる
永続化に関する振る舞い
interface IUserRepository{
void Save(User user){
// 略
}
}
- 永続化に関する振る舞いは、永続化を行うオブジェクトを引数に取る
テストによる確認
- テストを書くことによって、不安要素がなくせる
- 「おそらく」意図通りに動くだろうという考えは良くない