组织项目解决方案w / Interfaces for Repository

时间:2010-08-04 19:15:07

标签: visual-studio-2010 domain-driven-design organization project-organization ddd-repositories

VS 2010 / C#

尝试组织解决方案并寻找用于命名将托管存储库接口的项目的选项。

我有: MyProject.Domain

MyProject.WebUI

MyProject.Repositories

MyProject.Interfaces ??

到目前为止,“接口”是我提出的最好的名字,但我不喜欢它。有什么想法/建议吗?

1 个答案:

答案 0 :(得分:1)

将存储库接口放置在与域对象相同的程序集中并不常见。这就是Jeffrey Palermo在The Onion Architecture系列文章中讨论的内容。就个人而言,我也这样做。

至于它背后的原因,我认为定义存储库与域对象相关的内容是完全合乎逻辑的。在我看来,关于存储库行为的考虑与域本身一样重要。假设您有一个团队或开发人员在域模型上工作,并在使用域专家后定义存储库接口。他们/他/她的角色是确保知识的转移有关域如何与存储库相关,但不一定是存储库本身。

这样做,将这个集会交给团队中的任何其他人,UoK(知识单元,我自己的术语)都被限制在集会中。编写存储库实现的人员将根据程序集中传输的知识进行编码。由于这个UoK根据存储库的实现方式不变,从数据访问的角度来看,它逻辑上会进入另一个程序集。