VS 2010 / C#
尝试组织解决方案并寻找用于命名将托管存储库接口的项目的选项。
我有: MyProject.Domain
MyProject.WebUI
MyProject.Repositories
MyProject.Interfaces ??
到目前为止,“接口”是我提出的最好的名字,但我不喜欢它。有什么想法/建议吗?
答案 0 :(得分:1)
将存储库接口放置在与域对象相同的程序集中并不常见。这就是Jeffrey Palermo在The Onion Architecture系列文章中讨论的内容。就个人而言,我也这样做。
至于它背后的原因,我认为定义存储库与域对象相关的内容是完全合乎逻辑的。在我看来,关于存储库行为的考虑与域本身一样重要。假设您有一个团队或开发人员在域模型上工作,并在使用域专家后定义存储库接口。他们/他/她的角色是确保知识的转移有关域如何与存储库相关,但不一定是存储库本身。
这样做,将这个集会交给团队中的任何其他人,UoK(知识单元,我自己的术语)都被限制在集会中。编写存储库实现的人员将根据程序集中传输的知识进行编码。由于这个UoK根据存储库的实现方式不变,从数据访问的角度来看,它逻辑上会进入另一个程序集。