5

我有一个关于使用我的数据模型实现存储库模式的问题。我在网上搜索并查看了很多帖子,但我没有找到任何可以解决我疑问的答案。基本上我们的域模型如下所示,我们有一个客户端对象,它有很多子对象,而一些子对象又会有一个子对象,并且在任何时候都不需要这些没有父对象的子对象,也不会生成在应用程序中的任何意义。

client
 --> client zip codes
 --> client phone history
 --> client medical history
 --> client direct services
      --> client direct service assessments
      --> client direct service risk reductions
 --> client housing
      --> client housing landlord

它是这样的。所以从上面的表示中我有一些聚合,根是客户端对象,所以我想在聚合根级别创建一个存储库,即客户端。我的问题是如何处理其他聚合。任何人都可以请给我一些想法。

谢谢,阿杰。

4

1 回答 1

6

通常,存储库负责准备聚合根以供程序的其余部分使用。所以你应该查询一个客户端的存储库,它应该返回一个完整的客户端对象,包括邮政编码、电话历史、病史等。聚合根的想法是没有外部代码应该担心没有客户端其他可用的聚合。

换一种方式来看,由于您正在创建一个客户端存储库,并且客户端是聚合根,因此组合所有子对象是客户端存储库的工作,即使它们本身就是聚合。

于 2011-04-20T21:41:12.777 回答