Laravelにおけるリポジトリパターンについて教えてください。
リポジトリパターンのメリットは以下の2点と認識しています。
Laravel5のアーキテクチャから学ぶより良いクラス設計 - Qiita
● オブジェクトアクセスに関する設計上の決定を伝える。
● テストで使用するために、ダミーの実装で置き換えるのが容易になる(インメモリコレクションを使用するのが一般的)。
その上で、現在以下の3パターンのどれで開発を行うか迷っています。
それぞれ回答いただけるとありがたいです。
1. インターフェースをインジェクション
ytake.blog | Laravel/データベースレイヤーとのテスト1
このやり方が一番美しいなと思いました。
大規模開発において、このパターンが一般的に使われていますか?
2. よく使うメソッドをインターフェース化
GitHub - phanan/koel: ????A personal music streaming server that works.
getOneById, getByIds, getAllのみRepositoryInterfaceで定義されています。
コントローラーにインジェクションしてるのはRepositoryクラスなので、Eloquentを変更するとなった場合は、各リポジトリクラスのEloquentを使っているメソッドを修正していく必要がありますか?
この方法の利点があまり分かりませんでした。。
3. sqliteのインメモリを使ってモック化しない
個人開発で大きな仕様変更がない場合はこの方法が一番メリット大きいでしょうか。
シーダーと、sqliteのインメモリを使いデータベースにアクセスできるようにしておけば、テスト時の速度面でも気にならず、そもそもモック化しなくていいと思いました。
認識合っていますか?
以上、よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/30 14:18