让 Repository 由更多的子存储库组成可以吗?

Is it OK to have Repository composed by more child repositories?

我有一个存储库,它处理一个包含大量信息的实体,这些信息使用不同的表填充,但连接相同。

为了更好地封装事物,我创建了 "subrepositories" 来填充实体的各个部分。

是违背规律还是完全正确? 谢谢。

为了回答你的问题,我认为明确区分 data mapper that maps tables to objects and the repository:

是有意义的

存储库

mediates between the domain and data mapping layers

而数据映射器

moves data between objects and a database

因此,如果我正确理解您的问题,您实际上是在谈论 数据映射器

是的,创建可以组合成更大映射器的数据映射器是一个很好的方法。它促进了关注点分离并使各个映射器变得简单。

另一方面,存储库应按聚合使用。 为域中的每个聚合创建一个存储库。这也意味着该存储库仅适用于整个聚合,而不适用于实体。为了实现其目标,存储库可以使用(组合的)数据映射器。这就是这两个概念的关联方式。