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

PO前端

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

 

BO數據結構

全稱爲:Business Object,業務對象,主要做用是把業務邏輯封裝成一個對象,這個對象能夠包括一個或多個其它對象。
好比一個簡歷 BO 中有教育經歷,工做經歷,社會關係等多個 PO 對象。spa

 

DTOserver

全稱爲:Data Transfer Object,數據傳輸對象,好比一張表有 100 個字段,那麼對應的 PO 就有100 個屬性(大多數狀況下,DTO內部的數據結構來自多個表)但 view 層只須要顯示 10 個字段,沒有必要把整個 PO 對象傳遞到 client,這時咱們就能夠用只有這 10 個屬性的 DTO 來傳輸給 client,這樣也不會暴露 server 端表結構,到達客戶端後,若是這個對象來對應頁面顯示,它的身份就轉爲 VO。對象

 

使用場景:繼承

  • UserDTO 不該該返回用戶密碼。
  • UserDTO 包含歸屬部門名稱,而 UserPO 只有 deptId,沒有部門名稱。
  • 後臺表有 100 個字段,但前端展現只須要 10 個字段,減小數據傳輸。
  • 簡歷 ResumeDTO 包含教育經歷、工做經歷、社會關係等多個表的數據。

 

VO後臺

全稱爲:View Object,主要對應頁面展現的數據對象,通常繼承自 PO,能夠添加 PO 中沒有的字段,用來邏輯處理以及其它消息存儲。cli

 

DO表單

全稱爲:Domain Object,領域對象,從現實世界中抽象出的業務實體,它不是簡單的 POJO,它具備業務領域邏輯。

 

DAO

全稱爲:Data Access Object,數據訪問對象,通常所說的 DAO 層,用於鏈接數據庫與外層之間的橋樑,並持久化數據層對象。

 

模型

  • 用戶發出請求,表單的數據層被匹配爲 VO。
  • 展現層把 VO 轉換爲服務層對應方法鎖要求的 DTO,傳輸給服務層。
  • 服務層首先根據 DTO 的數據構造一個 DO,調用 DO 的業務方法完成具體業務。
  • 服務層把 DO 轉換爲持久層對應的 PO,調用持久層持久化方法,把 PO 傳遞給它完成持久化操做。
相關文章
相關標籤/搜索