【发布时间】:2011-03-25 15:32:35
【问题描述】:
我一直在阅读,现在已经看到了工作单元模式的两种不同实现。第一种模式让存储库与工作单元与域对象对话。
另一个实现是服务层将域对象注册为已修改:
我想我的问题是,每种方法的优点/缺点是什么?我知道在不为存储库/映射器/等提供一些实现代码的情况下要回答很多问题......但总的来说,谁/什么应该真正负责“更新”UoW,然后使用它?
我的想法是,如果您让存储库处理它,它应该作为存储库的可注入接口提供,这样同一个 UoW 就可以跨越多个存储库(也就是多个域对象)...
如果服务层处理它,那么您有点“卡住”,每次服务层调用只有一个 UoW 实现(例如,ServiceLayer.AddCustomer(customer))。
在网络世界中,我看不到为不同的域对象调用多个服务层......但也许在非网络世界中我可以。
我想有些东西最终必须调用“commit()”,所以将它绑定到服务层是最有意义的。
谢谢, 迈克
【问题讨论】:
标签: .net design-patterns unit-of-work