1. 程式人生 > >PO,VO,TO,BO,DAO,POJO的理解

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