Ayendeは以前、リポジトリが新しいシングルトンパターンであるという一連の記事を書きました。私はそれらすべてを読みましたが、彼のいくつかの点に同意したと思います。ほとんどの場合、すでにデータベース アクセスを抽象化している 1 つの ORM の使用を抽象化するためだけに存在する数十のリポジトリを持つプロジェクトを目にします。
それらを回避した後、一部の ORM はモックするのが難しいソフトウェア部分であるか、少なくとも EF はそうであるため、UT 用にコードを分離するためにいくつかの問題が発生し始めました。Ayende のプロジェクトのいくつかは、メモリ内データベースを使用してテストされていますが、問題なく動作する場合でも、私はそうしたくありません。
だから、これは私の問題です: 私は何十もの典型的なリポジトリも一般的なリポジトリも持ちたくありませんが、コードを分離する簡単な方法が欲しいです.
現在、リポジトリは UT にのみ役立ちますか?
注: 私はデータベース アクセスについて話しているのであって、リモート サービスのような他の種類のデータ ソースを抽象化することについてではありません。