假设我们有它存储在表层次深三个层次在我们的领域这样的集合体。我们将域对象表示为Order
- OrderItems
- ItemAttributes
。我们还假设我们在数据层使用了Repository模式。越来越沉重聚集的名单
库包含方法GetAll
返回的Orders
上市。
我们遵循REST我们的服务层上,因此,我们使用
GET /orders
获得上市GET /orders/{Id}
得到具体Order
上市只包含基本字段每个Order
没有细节,但是,通过id查询返回更大的对象。
作为一个Order
物化是昂贵的操作,我们不喜欢的事实,我们得到充分的聚集只是一对夫妇的字段发送到客户端。另一方面,我们尝试遵循合理的规则,即知识库必须仅返回完全初始化的聚合。
我们怎么能解决这个难题?
一个字:CQRS http://www.sapiensworks.com/blog/post/2013/05/04/CQRS-Explained.aspx – MikeSW