VO(View Object)
普遍用於Controller,用於與前端相交互的一個pojo。一般和前端契合
DTO(Data Transfer Object)
普遍用於Service,用於數據庫交互的一個pojo,一般用於Entity與DTO的轉化
Entity
用於實體類,一般用於映射數據庫。
以上的三者沒有本質上的區別,都是pojo。但是在設計層面上他們代表的含義和內容都不同。
作用我認為
- 方便業務邏輯清楚,各層使用不同pojo,轉化過程明顯有序
- 就如同Controller不可以(架構上)直接調用DAO一樣,作用和這差不多
阿里java開發規范中
B) 領域模型命名規約
- 數據對象:xxxDO,xxx 即為數據表名。
- 數據傳輸對象:xxxDTO,xxx 為業務領域相關的名稱。
- 展示對象:xxxVO,xxx 一般為網頁名稱。 4) POJO 是 DO/DTO/BO/VO 的統稱,禁止命名成 xxxPOJO。