多个域对象和存储库,以支持同一实体的不同用途?

时间:2013-07-18 13:02:52

标签: domain-driven-design

我正在开发一个允许用户跟踪工单状态的应用程序。默认界面列出所有打开的工单,并允许用户更新单个工单的状态。此列表是“实时”的,因为当其他用户在其他工作站上进行更改时,它将更新。

有一个可选的UI,不经常使用(但需要),它将列出当天的所有工作订单(没有在白天的某个时间点打开)。用户无法对此列表进行更改,此列表是静态的,即列表显示时的快照,而不是“实时”。

从后端服务检索工作订单数据。服务合同可以根据需要更新。

我的问题是围绕WorkOrder实体的两个用例建模域。我的表示层中有两个视图和相关的视图模型,但是我应该有两个独立的域对象和存储库吗?

其他信息:

  • 不经常访问“全部”视图并在业务结束时访问 那天,这个清单可能很大,需要大量的 内存如果缓存在客户端上。
  • “当前”视图与其他用户的更改保持同步 处理指示更改的广播事件/通知 制作并刷新清单。

1 个答案:

答案 0 :(得分:1)

您不需要单独的WorkOrder实体,因为它与两个视图中存在的工作顺序概念相同,但您可能需要使用不同的read-models来表示特定类型的查询中的这些实体。读取模型是一个只读数据对象,旨在适合特定查询。