0

VS 2010 / C#

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

我有:MyProject.Domain

我的项目.WebUI

MyProject.Repositories

MyProject.Interfaces??

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

4

1 回答 1

1

将存储库接口放置在与域对象本身相同的程序集中并不少见。这就是 Jeffrey Palermo 在他的洋葱架构系列中讨论的内容。就个人而言,我也是这样做的。

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

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

于 2010-09-02T18:06:03.570 回答