誰かが私に.NETのリポジトリパターンを説明してくれますか?.
私はこれが非常に一般的な質問であることを知っていますが、今のところ満足できる答えを見つけていません。
要約として、リポジトリパターンのより広い影響を説明します。オブジェクトの保持方法を知らなくても、すべてのコードでオブジェクトを使用できます。テーブルからオブジェクトへのマッピングを含む永続性に関するすべての知識は、安全にリポジトリに含まれています。
多くの場合、SQLクエリがコードベースに散在していることがわかります。テーブルに列を追加するときは、コードファイルを検索してテーブルの使用方法を見つけなければなりません。変更の影響は広範囲に及んでいます。
リポジトリパターンでは、1つのオブジェクトと1つのリポジトリを変更するだけで済みます。影響は非常に小さいです。
おそらくそれは、なぜあなたがリポジトリパターンを使うのかを考えるのに役立つでしょう。これにはいくつかの理由があります。
あなたはあなたのデータアクセスに変更を加えるための単一の場所があります
あなたは(通常)一組のテーブルを担当する単一の場所を持っています
テストのためにリポジトリを偽の実装に置き換えるのは簡単です - そのため、単体テストに利用可能なデータベースを用意する必要はありません。
たとえば、MySQLを使用していてSQL Serverに切り替えたい場合など、他にも利点があります。ただし、実際にこれを実際に見たことはありません。
これは良い例です。 C#のリポジトリパターンの例
基本的に、リポジトリはデータがデータベースからどのくらい正確にフェッチ/永続化されているかの詳細を隠します。カバーの下に: