java中的VO、PO、BO、DAO、POJO

 

 針對java工程裏的各類帶O的對象,進行分析,瞭解各自的做用。java

 

  • PO:

 

persistent object,持久對象。與數據庫裏表字段一一對應。PO是一些屬性,以及set和get方法組成。通常狀況下,一個表,對應一個PO。是直接與操做數據庫的crud相關。android

 

  • VO:

 

view object,又名:表現層對象,即view object。一般用於業務層之間的數據傳遞,和PO同樣也是僅僅包含數據而已。但應是抽象出的業務對象,能夠和表對應,也能夠不,這根據業務的須要。對於頁面上要展現的對象,能夠封裝一個VO對象,將所需數據封裝進去。數據庫

 

  • BO:

 

business object,業務對象。封裝業務邏輯的 java 對象 , 經過調用 DAO 方法 , 結合 PO,VO 進行業務操做。 一個BO對象能夠包括多個PO對象。如常見的工做簡歷例子爲例,簡歷能夠理解爲一個BO,簡歷又包括工做經歷,學習經歷等,這些能夠理解爲一個個的PO,由多個PO組成BO。app

 

  • DAO:

 

data access object,數據訪問對象。此對象用於訪問數據庫。一般和 PO 結合使用, DAO 中包含了各類數據庫的操做方法。經過它的方法 , 結合 PO 對數據庫進行相關的操做。夾在業務邏輯與數據庫資源中間。學習

 

  • DTO:

 

data transfer object,數據傳輸對象。主要用於遠程調用等須要大量傳輸對象的地方。spa

好比咱們一張表有 100 個字段,那麼對應的 PO 就有 100 個屬性。 可是咱們界面上只要顯示 10 個字段, 客戶端用 WEB service 來獲取數據,沒有必要把整個 PO 對象傳遞到客戶端,對象

這時咱們就能夠用只有這 10 個屬性的 DTO 來傳遞結果到客戶端,這樣也不會暴露服務端表結構 . 到達客戶端之後,若是用這個對象來對應界面顯示,那此時它的身份就轉爲 VO。ip

 

  • POJO:

 

plain ordinary java object) 簡單無規則 java 對象 ,純的傳統意義的 java 對象。資源

 

 

轉載自:https://www.toutiao.com/a6703062618506002956/?tt_from=mobile_qq&utm_campaign=client_share&timestamp=1560731184&app=news_article&utm_source=mobile_qq&utm_medium=toutiao_android&req_id=201906170826240100230720840976155&group_id=6703062618506002956get

相關文章
相關標籤/搜索