私は以下を持っています;
interface IRepository
--interface IRepositoryEF: IRepository
--interface IRepositoryNH: IRepository
----interface ICategoryRepositoryEF: IRepositoryEF
----interface ICategoryRepositoryNH: IRepositoryNH
CategoryRepositoryEF
サービスでCategoryRepositoryNH
クラスを使いたい。それらをCategoryServiceに挿入するにはどうすればよいですか?
CategoryService(IRepository repository)
{
}
これに関するベストプラクティスは何ですか? を使用しRepositoryFactory
てサービスに挿入し、サービスにリポジトリを作成できますか?
次のようなことを意味します。
CategoryService(CategoryRepositoryFactory factory)
{
var CategoryRepositoryEF = factory.Create("EF");
var CategoryRepositoryNH = factory.Create("NH");
}
これは良い考えですか?それとも私は完全に間違っていますか?