🙆♀️
リポジトリパターンについて
リポジトリパターンとはある機能や責務を持った複数のレイヤーに分けて実装していくもの。
例えばプレゼンテーション層アプリケーション層をドメインソーデータアクセス層というような分け方をすることもある。
今のプロジェクトではユースケース層とリポジトリー層で分けた運用をしている。
この運用の目的は一体何かを考えてみました。
結論ビジネスロジックからデータの保存や復元を別レイヤーへ分離することが目的だと考えます。
どういうことかというとビジネス層でロジックを記載する際にデータベースへのアクセスをする必要がある場合を仮定する。その時に本来であればどのようにデータベースへアクセスするかをビジネス層が管理しなければならなくなると例えば複数のデータストアにアクセスする必要がある場合など非常に複雑な構造になってしまう。
それを防ぐためにユースケース層とリポジトリー層を分ける。そうすることでビジネスロジックを書く側ではデータストアに関する操作を意識する必要なくロジックを書くことができる。
リポジット層で提供するのはあくまでデータ操作に関するインターフェースを公開するのみ。
そしてリポジト郵送では各データベースやデータストアに対する個別具体的なアクセスについて記述する。
このように記載することで分かりやすくテストもしやすい。
Discussion