介面與 Dto 設計

2021-10-09 02:59:10 字數 442 閱讀 4127

以下為個人觀點,給出了基本增刪改查介面的設計,如有不同觀點,可以指正:

dto設計:為每個實體建立乙個對應的dto

列表查詢:返回聚合根的dto列表或自定義的dto

單個實體查詢:返回整個聚合的dto或自定義的dto

以下是基本的命令介面(增刪改),根據業務邏輯是否允許如下操作進行新增

增加:增加乙個聚合根

修改:前端傳送整個聚合,後端修改整個聚合

刪除:刪除整個聚合

這樣設計的原因是為了減少介面的數量,前提是聚合允許這樣操作,但並不是每個聚合都允許這樣操作,例如使用者聚合包含賬號實體,而你不能因為修改了使用者暱稱卻要將整個賬號實體給替換掉吧

有人說查詢資料應該一次性返回所有資料

有人又說dto應該扁平化(即沒有巢狀結構)

但經本人實踐,這兩種設計所要實現的介面過多且無規則可循

DAO與DTO的區別

dao data access object資料訪問物件 主要用來封裝對資料庫的訪問。通過它可以把pojo持久化為po,用po組裝出來vo dto dto data transfer object資料傳輸物件 主要用於遠端呼叫等需要大量傳輸物件的地方。比如我們一張表有100個字段,那麼對應的po就有...

DTO與實體物件的區別

1 什麼是dto dto data tansfer object 即資料傳輸物件。之前不明白有些框架中為什麼要專門定義dto來繫結表現層中的資料,為什麼不能直接用實體模型呢,有了dto同時還要維護dto與model之間的對映關係,多麻煩。然後看了這篇文章中的討論部分才恍然大悟。表現層與應用層之間是通...

Dto與Model之間的轉換

2017 03 17 0.7.5 2配置轉換類 clazza 到 clazzb public class config maper.validate return maper 3具體位置直接呼叫 4擴充套件轉換類比如classa中是 type列舉,而classb中 type是short型別增加轉換器...