我已经阅读了几乎所有关于存储库模式及其不同实现的文章。他们中的许多人判断不良做法(例如:使用IQueryable<T>
而不是IList<T>
)等,这就是为什么我仍然被卡住并且无法最终找到正确的做法。
所以:
我是否需要存储库模式才能在我的 MVVM 应用程序中应用 IoC?
如果是,什么是 EF 实体的有效 IRepository 实现,这是一种良好的实践和更好的可测试性?
如何测试我的存储库和 UnitofWork 行为?针对内存存储库的单元测试?集成测试?
编辑:根据答案,我添加了第一个问题。