2010-01-23 64 views
2

我想知道如何在Web應用程序中使用ddd模型。在埃裏克埃文貨運應用程序中有Cargo class其中包含價值對象Itinerary。在Itinerary內部是Legs的集合,也是一個值對象。所有值對象都將代理ID隱藏到外部世界。 所以,當使用這個領域模型時,我將如何創建一個web應用程序,您可以點擊貨物行程,列出所有腿,然後通過重定向到一個新的「腿部細節」頁面來顯示腿的細節。通常我會在查詢字段中傳遞LegId,並在詳細信息頁面上再次讀取它。但既然它沒有身份證,你會怎麼做?域驅動設計 - 如何在UI上使用值對象

使用在收集排序後可能會改變的腿的索引?

傳遞查詢字段中的所有值,因爲這是值對象標識?

聽起來像是一種倒退到我:)

回答

1

如果腿沒有ID,通過貨物,你必須提到它的唯一途徑是,它有一個標識,因此可以與關聯URI/URL。要引用特定的分支,您只有索引,可以是數字,也可以是字典鍵。如果您有排序問題,您可以定義兩個列表:一個具有規範排序以供參考,另一個具有排序順序排序位置和規範索引。

至於爲什麼埃文斯例子中的值對象有ID,我認爲這是爲了序列化的目的。

當然,您也可以選擇具有身份的行程/腿。