0
我试图让我的头围绕建立在UnitOfWork
模式上的现有系统。有许多存储库在其构造函数中都采用IUnitOfWork
,以便服务层可以执行多个存储库调用,然后选择何时提交更改。使用UnitOfWork模式时的依赖注入
目前的服务代码可能是这个样子:
using (var uow = UnitOfWork.Start())
{
var orderRepository = new OrderRepository(uow);
var productRepository = new ProductRepository(uow);
orderRepository.DoSomething();
productRepository.DoSomethingElse();
uow.Persist();
}
我怎样才能在服务层引入真正的依赖注入,仍然保持UnitOfWork
模式?
它我想注入资源库,该的UnitOfWork类是不是真正的问题... – Bjorn
@Bjorn 对不起,我误解了这个问题。 一个解决方案是UnitOfWork会保存存储库的具体实现。 – Dzenan
是的,我认为这是要走的路。它不是UoW知道存储库的理想方式,但另一方面,它很容易替换,因为它的界面很不错,而UoW对于它正试图协调的不同存储库来说是特定的。 – Bjorn