所以我基本上每个实体都有一个存储库,但我的模型有一个关系部门,其中实体在模型中没有直接关联。所以我需要做的是查询该间接关系并返回一组实体。是否适合初始化和调用与您实际查询的存储库不同的存储库上的查询?如果没有,最好的解决方案是什么 - 助手类?
由于
答案 0 :(得分:6)
我同意 - 尝试识别聚合根。如果您不熟悉aggreagate roots:read here
在我看来,您的原始问题仍然有效,您可能仍然依赖其他存储库。根据您的域模型,拥有theese依赖项可能没问题。如果您有这样的依赖关系,那么将它们与接口松散地结合起来是一个很好的设计。然后,您可以使用某种依赖注入来简化测试等。另一个选择是让工厂为您提供正确的存储库。
答案 1 :(得分:2)
每个实体的存储库可能不是一个好主意。存在聚合根对象的存储库。为这些定义聚合根对象和提供程序存储库。当涉及到依赖于其他存储库的存储库时,这可能会清除一些混乱。