今天,咱來(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)。
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。
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)。