假設我有一個具有列舉屬性的物體。
enum Property {
A, B, C;
}
我想為這個物體使用類似的 DTO,DTO 是否應該將屬性作為列舉或字串?
在 DTO 類中傳遞列舉以轉換為列舉的最佳方式是什么,反之亦然。
uj5u.com熱心網友回復:
對此有很多不同的意見。有些人對DTO和Entity類的分離很嚴格。其他人說你應該專注于域類,并使用基礎設施配接器而不是 DTO 和物體。
在我看來,簡單的不可變值類可以在 DTO 和物體之間共享。例如 Instant 或 LocalDate、列舉或某些特定于域的值物件。您只需要確保它們可以從資料傳輸所需的格式正確轉換或轉換為資料傳輸所需的格式,并且它們是不可變的,即只有建構式和 getter,沒有 setter。
所以我會像在物體中一樣在 DTO 中使用列舉。
uj5u.com熱心網友回復:
DTO 是否應將 Property 作為列舉
當然應該。正確鍵入是資料驗證的第一行。如果屬性的值被限制在某個預定義的集合中,為什么它不應該反映在 DTO 中?
請注意,這并不一定意味著應該在 DTO 和 DTO 最終映射到的任何內容之間共享列舉。這是一個完全不同的問題,不同的人可能對此有不同的看法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/390158.html
