小编Hee*_*ems的帖子

在 DDD 系统中查询

DDD菜鸟在这里。假设我们有一个用于订单的域聚合(例如MS DDD 文章)。使用此示例,我们要查询包含特定商品的所有订单。此外,我们对订单或项目中的所有内容并不真正感兴趣。仅 orderId、日期和项目名称就足以显示回用户/响应 API。正在努力解决以下问题:

  • 存储库(返回域对象)是否返回完整(即所有属性)匹配的订单及其所有项目,然后域对象/服务必须过滤不感兴趣的项目?似乎效率很低,并且没有利用我们的持久性 (SQL) 引擎功能来缩小搜索范围。此外,此后续过滤将更改域对象的行为(例如订单状态及其总数),如果调用者使用此订单的数据/行为,这可能会导致副作用。
  • 或者存储库是否返回了一个 DTO,它只包含调用者所需的数据属性?这看起来很有效,但随着时间的推移,这个 DTO 列表可能会增长到数百个满足系统中某些特定需求的类。看起来很丑

这些担忧是否有效和/或有更好的方法?

domain-driven-design

3
推荐指数
1
解决办法
2531
查看次数

标签 统计

domain-driven-design ×1