VO和DO的區別


阿里巴巴Java開發手冊中的DO、DTO、BO、AO、VO、POJO定義

分層領域模型規約:

  • DO( Data Object):與數據庫表結構一一對應,通過DAO層向上傳輸數據源對象。
  • DTO( Data Transfer Object):數據傳輸對象,Service或Manager向外傳輸的對象。
  • BO( Business Object):業務對象。 由Service層輸出的封裝業務邏輯的對象。
  • AO( Application Object):應用對象。 在Web層與Service層之間抽象的復用對象模型,極為貼近展示層,復用度不高。
  • VO( View Object):顯示層對象,通常是Web向模板渲染引擎層傳輸的對象。
  • POJO( Plain Ordinary Java Object):在本手冊中, POJO專指只有setter/getter/toString的簡單類,包括DO/DTO/BO/VO等。
  • Query:數據查詢對象,各層接收上層的查詢請求。 注意超過2個參數的查詢封裝,禁止使用Map類來傳輸。

領域模型命名規約:

  • 數據對象:xxxDO,xxx即為數據表名。
  • 數據傳輸對象:xxxDTO,xxx為業務領域相關的名稱。
  • 展示對象:xxxVO,xxx一般為網頁名稱。
  • POJO是DO/DTO/BO/VO的統稱,禁止命名成xxxPOJO。

DO和VO的區別:DO是和數據庫中表相關聯的類,而VO中我們寫的字段都是前台所需要的,而不是對象的所有字段值,需要中文就顯示中文;

DO和VO之間的轉換:

  • 博主使用的是Spring提供的BeanUtils.copyProperties來做轉換.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM