PO,VO,TO,BO,DAO,POJO的理解
1.VO: (value object)值物件:對應頁面顯示的資料物件
2.PO:持久物件(Persisent Object):物件的屬性和資料庫表的欄位一一對應,簡單來說PO就是資料庫中的一條記錄。
-------------------------------------------------------------------------------------------------
3.TO(Transfer Object)資料傳輸物件:主要用於遠端呼叫等需要大量傳輸物件的地方。
舉例:
主要用於遠端呼叫等需要大量傳輸物件的地方。
比如我們一張表有100個欄位,那麼對應的PO就有100個屬性。
但是我們介面上只要顯示10個欄位,
客戶端用WEB service來獲取資料,沒有必要把整個PO物件傳遞到客戶端,
這時我們就可以用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構.到達客戶端以後,如果用這個物件來對應介面顯示,那此時它的身份就轉為VO。
-------------------------------------------------------------------------------------------------
4.BO(business object)業務層物件
舉例:
主要是把業務邏輯封裝為一個物件。這個物件可以包括一個或多個其它的物件。
比如一個簡歷,有教育經歷、工作經歷、社會關係等等。
我們可以把教育經歷對應一個PO,工作經歷對應一個PO,社會關係對應一個PO。
建立一個對應簡歷的BO物件處理簡歷,每個BO包含這些PO。
這樣處理業務邏輯時,我們就可以針對BO去處理。
-------------------------------------------------------------------------------------------------
5.DAO(data access object) 資料訪問物件:和資料庫打交道,通過它可以把POJO持久化為PO,用PO組裝出來VO、DTO。
-------------------------------------------------------------------------------------------------
6.POJO(plain ordinary java object) 純java物件:只有屬性欄位及setter和getter方法。有時可以作為VO和DTO使用。
一個POJO持久化以後就是PO
直接用它傳遞、傳遞過程中就是DTO
直接用來對應表示層就是VO