假设我们的域中有这样一个聚合,它存储在三层深的表层次结构中。让我们将域对象表示为Order
- OrderItems
- ItemAttributes
。我们还假设我们在数据层上使用存储库模式。
存储库包含GetAll
返回列表的方法Orders
。
我们在服务层上遵循 REST,因此,我们使用
GET /orders
获取列表GET /orders/{Id}
得到混凝土Order
该列表仅包含每个的基本字段,Order
没有详细信息,但是,通过 id 查询返回更大的对象。
由于实现一个Order
是昂贵的操作,我们不喜欢我们获得完整聚合只是为了向客户端发送几个字段的事实。另一方面,我们尝试遵循存储库必须仅返回完全初始化的聚合的合理规则。
我们如何解决这个困难?