JAVA POJO 定義規(guī)范(VO、 PO、DO、DTO、 BO、 QO、DAO)

轉(zhuǎn)載自:http://www.hollischuang.com/archives/553
并對POJO定義按照阿里規(guī)約進行修正

PO(persistant object) 持久對象

在 o/r 映射的時候出現(xiàn)的概念,如果沒有 o/r 映射,沒有這個概念存在了。通常對應數(shù)據(jù)模型 ( 數(shù)據(jù)庫 ), 本身還有部分業(yè)務邏輯的處理??梢钥闯墒桥c數(shù)據(jù)庫中的表相映射的 java 對象。最簡單的 PO 就是對應數(shù)據(jù)庫中某個表中的一條記錄,多個記錄可以用 PO 的集合。 PO 中應該不包含任何對數(shù)據(jù)庫的操作。

DO(Domain Object)領域?qū)ο?/h2>

就是從現(xiàn)實世界中抽象出來的有形或無形的業(yè)務實體。一般和數(shù)據(jù)中的表結(jié)構(gòu)對應。

TO(Transfer Object) ,數(shù)據(jù)傳輸對象

在應用程序不同 tie( 關(guān)系 ) 之間傳輸?shù)膶ο?/p>

DTO(Data Transfer Object)數(shù)據(jù)傳輸對象

這個概念來源于J2EE的設計模式,原來的目的是為了EJB的分布式應用提供粗粒度的數(shù)據(jù)實體,以減少分布式調(diào)用的次數(shù),從而提高分布式調(diào)用的性能和降低網(wǎng)絡負載,但在這里,我泛指用于展示層與服務層之間的數(shù)據(jù)傳輸對象。

VO(view object) 值對象

視圖對象,用于展示層,它的作用是把某個指定頁面(或組件)的所有數(shù)據(jù)封裝起來。

BO(business object) 業(yè)務對象

從業(yè)務模型的角度看 , 見 UML 元件領域模型中的領域?qū)ο蟆7庋b業(yè)務邏輯的 java 對象 , 通過調(diào)用 DAO 方法 , 結(jié)合 PO,VO 進行業(yè)務操作。 business object: 業(yè)務對象 主要作用是把業(yè)務邏輯封裝為一個對象。這個對象可以包括一個或多個其它的對象。 比如一個簡歷,有教育經(jīng)歷、工作經(jīng)歷、社會關(guān)系等等。 我們可以把教育經(jīng)歷對應一個 PO ,工作經(jīng)歷對應一個 PO ,社會關(guān)系對應一個 PO 。 建立一個對應簡歷的 BO 對象處理簡歷,每個 BO 包含這些 PO 。 這樣處理業(yè)務邏輯時,我們就可以針對 BO 去處理。

DAO(data access object) 數(shù)據(jù)訪問對象

是一個 sun 的一個標準 j2ee 設計模式, 這個模式中有個接口就是 DAO ,它負持久層的操作。為業(yè)務層提供接口。此對象用于訪問數(shù)據(jù)庫。通常和 PO 結(jié)合使用, DAO 中包含了各種數(shù)據(jù)庫的操作方法。通過它的方法 , 結(jié)合 PO 對數(shù)據(jù)庫進行相關(guān)的操作。夾在業(yè)務邏輯與數(shù)據(jù)庫資源中間。配合 VO, 提供數(shù)據(jù)庫的 CRUD 操作

POJO(plain ordinary java object) 是 DO/DTO/BO/VO等 的統(tǒng)稱,禁止命名成 xxxPOJO。

引自阿里巴巴Java開發(fā)手冊

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容