假設我們有它存儲在表層次深三個層次在我們的領域這樣的集合體。我們將域對象表示爲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