BO(Business Object)
主要作用是把業務邏輯封裝為一個物件。這個物件可以包括一個或多個其他的物件。
比如一個簡歷,有教育經歷、工作經歷等等
我們可以把教育經歷對應一個PO,工作經歷對應一個PO。
建立一個對應簡歷的BO物件處理簡歷,每個BO包含這些PO。
這樣處理業務邏輯時,我們就可以針對BO去處理。
Entity 與 VO:
Entity 帶有 Identity,VO 沒有帶 Identity,也就是說 Entity 只有異動了 Identity 才算是不同物件,但 VO 只要有屬性被變更了,就視為是不同物件
Entity 帶有 Identity,VO 沒有帶 Identity,也就是說 Entity 只有異動了 Identity 才算是不同物件,但 VO 只要有屬性被變更了,就視為是不同物件
DTO(Data Transfer Object)
主要用於遠端調用等需要大量傳輸物件的地方。
比如我們一張表有100個欄位,那麼對應的PO就有100個屬性。
但是我們介面上只要顯示10個欄位,用戶端用WEB service來獲取資料,不需要將整個PO物件傳遞到用戶端,
此時即可以用只有10個屬性的DTO來傳遞結果到用戶端,如此亦不會暴露服務端表結構。到達用戶端以後,如果用這個物件來對應介面顯示,那此時它的身份就轉為VO
POJO(Plain Old Java Object or Plain Ordinary Java Object)
只有屬性及getter、setter 的 Java Object
一個POJO持久化以後就是PO
直接用它傳遞、傳遞過程中就是DTO
直接用來對應表示層就是VO
出自來源:
http://blog.db.idv.tw/2010/12/java-po-bo-vo-entity-dto-pojo-dao.html
沒有留言:
張貼留言