そのため、最近本番環境に導入したプロジェクトで、データ アクセスを再設計して遊んでいます。
リポジトリと作業単位のパターンについて読み始めたところ、興味をそそられました。これまでTDDを使用したことはありませんでしたが、試してみようと思いました。
私が取り組んでいることは重要ではないので、理解を深めるための趣味です。
何かが機能していますが、マークを完全に逃したかどうかを確認したいです。これが私が持っているものです...(簡単にするために、ソリューションの名前の代わりにSlnを使用します)
Sln.DataAccess
+ Entities
+ Person.cs (contains the model definition of a Person)
+ IIdentifiedObject.cs (just an interface demanding a (Guid)Id property)
+ Repositories
+ IRepository.cs[1]
+ IUnitOfWork.cs[2]
Sln.DataAccess.Memory
+ PersonRepository.cs[3]
+ Context.cs[4]
+ GenericRepository.cs[5]
+ UnitOfWork.cs[6]
Sln.DataAccess.Sql (I suppose this could be Sln.DataAccess.EF but anyway...)
+ PersonRepository.cs
+ Context.cs
+ GenericRepository.cs
+ UnitOfWork.cs
Sln.Test
+ Various unit tests.
SQL Context/Repository/etc... は、メモリ内リストではなく Entity Framework を介してデータベースにアクセスすることを除いて、基本的にすべて同じです。
私が尋ねている本当の質問は、Repository/UnitOfWork パターン全体のマークを逃したかどうか、または私が持っているものを改善できる場所を誰かが提供できる提案があるかどうかです。
ここにソースファイルがあります。