【りぽじとりぱたーん】
リポジトリパターン とは?
最終更新:
💡 業務の言葉で、データを出し入れする窓口
ドメインオブジェクトをコレクションのように扱う窓口を設け、データの取得・保存の詳細を分離する設計パターン。単にDB操作を別クラスへ移すことに限らず、業務の語彙で扱える境界を作ります。
📌 このページのポイント
リポジトリは何をする?
DB操作を別クラスにすれば同じ?
テストでDBを使わなくてよい?
テーブルごとに1つ作る?
ORMの上にも必ず必要?
もっと詳しく知りたい人へ
配列で動く実装はすべてモック?
テストの代役全体はテストダブルと呼べます。実際に簡略化した動作を行うものはフェイク、呼び出しや期待した振る舞いを検証するものはモック、と区別することがあります。目的を明記し、代役で実DBの差異まで確認できるとは考えないでください。
まとめ:ざっくりこれだけ覚えればOK!
「リポジトリパターン」って出てきたら「ドメインオブジェクトを扱う窓口とデータアクセスの詳細を分離する設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Repository Pattern」 = 保管庫を表すrepositoryに由来する設計パターンの名称
💬 オブジェクトの集合へアクセスする窓口を表します。ソースコードを保管するGitリポジトリと、このデータアクセスの設計を区別してください。