《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > PO,VO,DAO,BO,POJO 之間的區(qū)別你懂嗎?

PO,VO,DAO,BO,POJO 之間的區(qū)別你懂嗎?

2021-05-31
來(lái)源:碼農(nóng)突圍
關(guān)鍵詞: Po Vo DAO Bo POJO

今天,咱來(lái)各種 OOOOOOOOOOOO!

border-left: 3px solid rgb(0, 150, 136); box-sizing: border-box !important; overflow-wrap: break-word !important;">VO

value object:值對(duì)象。

通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞,由new創(chuàng)建,由GC回收。

PO

persistant object:持久層對(duì)象。

對(duì)應(yīng)數(shù)據(jù)庫(kù)中表的字段。VO 和 PO 都是屬性加上屬性的 get 和 set 方法;表面看沒(méi)什么不同,但代表的含義是完全不同的。

DTO

data transfer object:數(shù)據(jù)傳輸對(duì)象。

表里面有十幾個(gè)字段:id,name,gender(M/F),age,conmpanyId(如001)...

頁(yè)面需要展示四個(gè)字段:name,gender(男/女),age,conmpanyName(如今日頭條股份有限公司)。

DTO由此產(chǎn)生,一是能提高數(shù)據(jù)傳輸?shù)乃俣龋p少了傳輸字段),二能隱藏后端表結(jié)構(gòu)。

微信圖片_20210531122012.jpg

BO

business object:業(yè)務(wù)對(duì)象。

BO 把業(yè)務(wù)邏輯封裝為一個(gè)對(duì)象。我理解是 PO 的組合,比如投保人是一個(gè) PO,被保險(xiǎn)人是一個(gè) PO,險(xiǎn)種信息是一個(gè) PO 等等,他們組合起來(lái)是第一張保單的 BO。

POJO

plain ordinary java object:簡(jiǎn)單無(wú)規(guī)則 java 對(duì)象。

純的傳統(tǒng)意義的 java 對(duì)象,最基本的 Java Bean 只有屬性加上屬性的 get 和 set 方法。可以轉(zhuǎn)化為 PO、DTO、VO;比如 POJO 在傳輸過(guò)程中就是 DTO。

微信圖片_20210531122015.jpg

DAO

data access object:數(shù)據(jù)訪問(wèn)對(duì)象。

主要用來(lái)封裝對(duì)數(shù)據(jù)的訪問(wèn),注意,是對(duì)數(shù)據(jù)的訪問(wèn),不是對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。

微信圖片_20210531122021.jpg




電子技術(shù)圖片.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。