作web應用的時候你會用到分層部署,或者分佈式的部署,此時你會用到各類對象之間的轉換和傳遞。java
下面整理一下我再項目中經常使用到的幾個對象:web
PO:全稱是
persistant object持久對象,離數據庫最近的一個封裝對象,數據插入或者數據查詢後的結果
最形象的理解就是一個PO就是數據庫中的一條記錄。
好處是能夠把一條記錄做爲一個對象處理,能夠方便的轉爲其它對象。
BO:全稱是
business object:業務對象,
主要做用是把業務邏輯封裝爲一個對象。這個對象能夠包括一個或多個其它的對象。
好比一個我的信息,有基本信息、認證信息、教育信息等等。
咱們能夠把基本信息對應一個PO,認證信息對應一個PO,教育信息對應一個PO。
創建一個對應我的的BO對象處理我的信息業務,每一個BO包含這些PO。
這樣處理業務邏輯時,咱們就能夠針對BO去處理。就比如咱們的一個業務邏輯設計到不少表的操做
VO :
value object值對象
ViewObject表現層對象
主要對應界面顯示的數據對象。對於一個WEB頁面,或者restfull接口返回的數據,用一個VO對象對應整個界面的值。一個vo能夠包含不少po對象的整合值。數據庫
POJO :
plain ordinary java object 簡單java對象
我的感受POJO是最多見最多變的對象,是一箇中間對象,也是咱們最常打交道的對象。
一個POJO持久化之後就是PO
直接用它傳遞、傳遞過程當中就是DTO
直接用來對應表示層就是VO。若是你想偷懶,而且是單項目,一個pojo就能夠搞定全部。restful
隨着業務的發展及分佈式技術的使用,你就要區分開來不少對象分佈式