Unit Of Work 模式是数据访问层一个理解的重点,用来确保数据的完整性,如果在持久化的过程中出现问题,那么将所有的对象回滚,以确保数据始终处于有状态。书中例子的整体结构图如下:
在UnitOfWork类中维护一系列的Dictionary<IAggregateRoot,IRepository>,当在应用服务中AccountService进行Save操作时,只是注册到Dictionary,只有当调用_unitOfWork.Commit()时才遍历字典,进行真正的持久化操作。执行顺序如下: