我试图了解基于该UnitOfWork
模式构建的现有系统。有很多存储库都IUnitOfWork
在其构造函数中接受一个,以便服务层可以执行多个存储库调用,然后选择何时提交更改。
当前的服务代码可能如下所示:
using (var uow = UnitOfWork.Start())
{
var orderRepository = new OrderRepository(uow);
var productRepository = new ProductRepository(uow);
orderRepository.DoSomething();
productRepository.DoSomethingElse();
uow.Persist();
}
如何在服务层中引入真正的依赖注入并仍然保持UnitOfWork
模式?