首先我正在阅读这篇文章。他使用内存存储库中的自定义来测试和证明概念原因。RepositoryEntityStore
. 然后为了避免使用 new 他实现了这个不包含在文章中但在示例中。
namespace eDirectory.Naive.Repository
{
/// <remarks>
/// version 0.2 Chapter II: Repository
/// </remarks>
public class RepositoryLocatorEntityStore
: RepositoryLocatorBase
{
protected Dictionary<Type, object> RepositoryMap = new Dictionary<Type, object>();
public override IRepository<T> GetRepository<T>()
{
var type = typeof(T);
if (RepositoryMap.Keys.Contains(type)) return RepositoryMap[type] as IRepository<T>;
var repository = new RepositoryEntityStore<T>();
RepositoryMap.Add(type, repository);
return repository;
}
}
}
后来我认为他使用 DI 甚至没有创建 RepositoryEntityStore
. 问题是我如何修改它以使用扩展的类RepositoryEntityStore
?像 CustomerRepositoryEntityStore 一样?