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

來源:網(wǎng)絡(luò)
今天,咱來各種 OOOOOOOOOOOO!
VO
value object:值對象。
通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞,由new創(chuàng)建,由GC回收。
PO
persistant object:持久層對象。
對應(yīng)數(shù)據(jù)庫中表的字段。VO 和 PO 都是屬性加上屬性的 get 和 set 方法;表面看沒什么不同,但代表的含義是完全不同的。
DTO
data transfer object:數(shù)據(jù)傳輸對象。
表里面有十幾個字段:id,name,gender(M/F),age,conmpanyId(如001)...
頁面需要展示四個字段:name,gender(男/女),age,conmpanyName(如今日頭條股份有限公司)。
DTO由此產(chǎn)生,一是能提高數(shù)據(jù)傳輸?shù)乃俣龋p少了傳輸字段),二能隱藏后端表結(jié)構(gòu)。

BO
business object:業(yè)務(wù)對象。
BO 把業(yè)務(wù)邏輯封裝為一個對象。我理解是 PO 的組合,比如投保人是一個 PO,被保險人是一個 PO,險種信息是一個 PO 等等,他們組合起來是第一張保單的 BO。
POJO
plain ordinary java object:簡單無規(guī)則 java 對象。
純的傳統(tǒng)意義的 java 對象,最基本的 Java Bean 只有屬性加上屬性的 get 和 set 方法??梢赞D(zhuǎn)化為 PO、DTO、VO;比如 POJO 在傳輸過程中就是 DTO。

DAO
data access object:數(shù)據(jù)訪問對象。
主要用來封裝對數(shù)據(jù)的訪問,注意,是對數(shù)據(jù)的訪問,不是對數(shù)據(jù)庫的訪問。

1. 超神了!因為一次接口超時,我一路排查到了內(nèi)核代碼
最近面試BAT,整理一份面試資料《Java面試BATJ通關(guān)手冊》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。
獲取方式:點“在看”,關(guān)注公眾號并回復(fù) Java 領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
文章有幫助的話,在看,轉(zhuǎn)發(fā)吧。
謝謝支持喲 (*^__^*)

