首先,這個問題可能聽起來很寬泛,但讓我具體一點。
通過過去的問題,我以自己的方式了解了DTO的作用和用法。
但是看了很多我自己寫的代碼后,我還是有疑問。
首先,我將向您展示我現在實際實作的代碼。
public ResponseEntity<UserDashBoardRes.UserInfoListRes> findUserInfoList(){
return ResponseEntity.status(200).body(new UserDashBoardRes.UserInfoListRes(userDashBoardService.findUserInfoList()));
}
我不想將每個 DTO 創建為單獨的類檔案,因此我將其實作為內部類。
結果是回應物件
ResponseEntity<UserDashBoardRes.UserInfoListRes>
乍看之下似乎有些難以辨認。
然后,為了使用 DTO,我們需要創建一個 DTO 物件。
所以,通過列出新的建構式、DTO 名稱及其引數,這一次似乎很難再一眼認出。
new UserDashBoardRes.UserInfoListRes(userDashBoardService.findUserInfoList())
但我想不出除此之外的正確創建和回傳 DTO 的方法。
我錯了嗎?有沒有更合適的方法?
uj5u.com熱心網友回復:
資料傳輸物件 (DTO) 是一個模型類,它封裝要在系統組件之間傳輸的資料。從這個角度來看,從技術上講,它可以是一個內部類。這里確實沒有“對”或“錯”之分,這取決于您對應用程式的設計選擇。
但是,將所有 DTO 作為內部類是稍微不尋常的設計選擇。通常,DTO 作為單獨的類保存在它們的包中并使用。一個優點是關注點的明確分離。在您的情況下,通過瀏覽代碼庫來確定“UserInfoListRes”是一個 DTO 有點困難。為了緩解這種情況,您可以記錄該類并為所有 DTO 類制定一些命名約定。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/495516.html
