← Notes 一覧へ戻る

Tech

Repository Pattern(レポジトリパターン)とは

Repository Pattern の基本的な考え方を、データ取得の例を交えて紹介します。

Repository Pattern(レポジトリパターン)とは#

Repository Pattern(レポジトリパターン)は、データアクセスを抽象化するための設計パターンです。 データをどのように取得・保存するかという具体的な処理を Repository に切り出し、利用する側から隠します。

参考例#

アプリケーション側からは、たとえば次のように呼び出します。

user = UserRepository.find(123)

UserRepository の内部では、DB から User を取得するための具体的な処理を行います。

利用する側は UserRepository.find(123) と呼ぶだけでよく、どのようなクエリでデータを取得しているのかを意識する必要はありません。

保存する場合も同様に、具体的な永続化処理を Repository の内部に隠せます。

なぜこのような記事を書いたのか#

単刀直入に言うと、私はレポジトリパターンというものを知りませんでした(恥ずかしい)。

私は Rails の開発を主に行なっているのですが、Rails では Active Record パターンが採用されており、Model 自身がデータベースへのアクセスを担います。

user = User.find(123)

このように Model から直接データを取得できるため、Repository という層を設けずに実装することが多く、今まで馴染みがなかったのかな、と。

必要なケースに出会えたら、試してみたいなと思います。

まとめ#

Repository Pattern(レポジトリパターン)とは、データアクセスを抽象化し、呼び出し側がデータの取得・保存に関する具体的な処理を意識しなくて済むようにする設計パターンのことである。

参考#

コメントについて

  • 投稿には GitHub アカウントが必要です。
  • コメントとリアクションは GitHub Discussions 上で公開されます。
  • 情報の取扱いは Privacy Policy をご確認ください。
  • 訂正・削除に関するご連絡は Contact からお願いします。