我有一个存储库,用于处理具有大量信息的实体,这些信息使用不同的表填充,但是连接相同。
为了更好地封装内容,我创建了“子库”来填充实体的一部分。
是针对这种模式还是完全正确? 谢谢。
答案 0 :(得分:0)
要回答您的问题,我认为明确区分将表格映射到对象的data mapper和repository:
存储库
介于域和数据映射层之间
而数据映射器
在对象和数据库之间移动数据
因此,如果我正确理解您的问题,您实际上是在谈论数据映射器。
是的,创建可以组成更大映射器的数据映射器是一种很好的方法。它促进了关注点的分离,并使单个地图制作者变得简单。
另一方面,每个聚合应使用存储库。 为域中的每个聚合创建一个存储库。这也意味着存储库仅适用于整个聚合,而不适用于实体。为了实现其目标,存储库可以使用(组合的)数据映射器。这就是两个概念的关系。