2017-04-01 63 views
0

實現與從網站導出產品和導入訂單的第三方系統的集成。ddd - 覆蓋每個屬性的值對象

有一些ddd工作已經在設計中完成,並繼續它,我想。

訂單和產品上的每個屬性是否應該覆蓋一個值對象?

這意味着大約100類涵蓋似乎過高所有可能的屬性:

  • ProductSku
  • 產品名稱
  • 產品描述
  • ProductPrice
  • 等...

回答

1

訂單和產品上的每個屬性是否應該覆蓋一個值對象?

他們已經是。真正的問題是,你是否會留下隱含的內容,或者說明確。

這意味着大約100類涵蓋似乎過高所有可能的屬性:

哦,有什麼比這更比較糾結的潛力。例如,ProductPrice包含Money(其與ComputedTaxRoundedTax相同)的概念,其包括表示單位的AmountCurrencyCode

您可能想要認真考慮選擇一種語言,在該語言中創建數百個不同的值類別不會感覺過度。

參見:

1

應的順序和產品上的每一個屬性來覆蓋 值對象?

我知道一個原始值的任何語言都是一個值對象:不可變的,沒有標識(即字符串,數字等)。

如果你指的是「我應該創建一個新的類來包含數據+行爲」,那麼我說YAGNI。如果你找不到一個很好的理由去做(你需要強大的打字,你需要隱式顯式等),那麼現在就不要這樣做。等到你會需要它。