DO、PO、BO、DTO、VO等概念

POJO

  • 全稱為:Plain Ordinary Java Object,普通的 java 對象,一般用在數據層映射到數據庫表的類,類的屬性與表字段一一對應

PO

  • 全稱為:Persistant Object,持久化對象,與數據庫結構映射的實體,數據庫中的一條數據即為一個 BO 對象

BO

  • 全稱為:Business Object,業務對象,主要作用是把業務邏輯封裝成一個對象,這個對象可以包括一個或多個其它對象,比如一個簡歷 BO 中有教育經歷,工作經歷,社會關系等 PO 對象

DTO

  • 全稱為:Data Transfer Object,數據傳輸對象,比如一張表有 100 個字段,那么對應的 PO 就有100 個屬性(大多數情況下,DTO內部的數據結構來自多個表)但 view 層只需要顯示 10 個字段,沒有必要把整個 PO 對象傳遞到 client,這時我們就可以用只有這 10 個屬性的 DTO 來傳輸給 client,這樣也不會暴露 server 端表結構,到達客戶端后,如果這個對象來對應頁面顯示,它的身份就轉為 VO

VO

  • 全稱為:View Object,主要對應頁面展示的數據對象,一般繼承自 PO,可以添加 PO 中沒有的字段,用來邏輯處理以及其它消息存儲

DO

  • 全稱為:Domain Object,領域對象,從現實世界中抽象出的業務實體,一般還包含 ORM 映射

DAO

  • 全稱為:Data Access Object,數據訪問對象,一般所說的 DAO 層,用于連接數據庫與外層之間的橋梁,并持久化數據層對象

JavaBean

  • JavaBean 是一種 Java 語言寫成的可重用組建,它的規范必須符合特定的約定:
    • 這個類必須有一個公共的缺省構造函數
    • 這個類的屬性用 getter 和 setter 訪問
    • 這個類可被序列化

模型

  • 用戶發出請求,表單的數據層被匹配為 VO
  • 展示層把 VO 轉換為服務層對應方法鎖要求的 DTO,傳輸給服務層
  • 服務層首先根據 DTO 的數據構造一個 DO,調用 DO 的業務方法完成具體業務
  • 服務層把 DO 轉換為持久層對應的 PO,調用持久層持久化方法,把 PO 傳遞給它完成持久化操作
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容