PO、POJO、BO、AO、VO、DTO、DO、DAO

1. PO

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

  1. 有時(shí)也被稱為Data對(duì)象,對(duì)應(yīng)數(shù)據(jù)庫中的entity,可以簡單認(rèn)為一個(gè)PO對(duì)應(yīng)數(shù)據(jù)庫中的一條記錄。
  2. 在hibernate持久化框架中與insert/delet操作密切相關(guān)。
  3. PO中不應(yīng)該包含任何對(duì)數(shù)據(jù)庫的操作。

2. POJO

plain ordinary java object:無規(guī)則簡單java對(duì)象

  1. 傳統(tǒng)意義的 java 對(duì)象。
  2. 可以轉(zhuǎn)化為PO、DTO、VO,比如POJO在傳輸過程中就是DTO。

3. BO

business object:業(yè)務(wù)對(duì)象
由Service層輸出的封裝業(yè)務(wù)邏輯的對(duì)象。這個(gè)對(duì)象可以包括一個(gè)或多個(gè)其它的對(duì)象。 比如一個(gè)簡歷,有教育經(jīng)歷、工作經(jīng)歷、社會(huì)關(guān)系等等。 我們可以把教育經(jīng)歷對(duì)應(yīng)一個(gè) PO ,工作經(jīng)歷對(duì)應(yīng)一個(gè) PO ,社會(huì)關(guān)系對(duì)應(yīng)一個(gè) PO 。 建立一個(gè)對(duì)應(yīng)簡歷的 BO 對(duì)象處理簡歷,每個(gè) BO 包含這些 PO 。

4. AO

application object:應(yīng)用對(duì)象
在web層與service層之間抽象的復(fù)用對(duì)象模型,極為貼近展示層,復(fù)用度不高。

5. VO

它有如下兩種解釋:
(1)value object:值對(duì)象
通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞,由new創(chuàng)建,由GC回收。
(2)view object:顯示層對(duì)象
通常是web向模板渲染引擎層傳輸?shù)膶?duì)象。

6. DTO

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

  1. 用在需要跨進(jìn)程或遠(yuǎn)程傳輸時(shí),它不應(yīng)該包含業(yè)務(wù)邏輯。
  2. 比如一張表有100個(gè)字段,那么對(duì)應(yīng)的PO就有100個(gè)屬性(大多數(shù)情況下,DTO內(nèi)的數(shù)據(jù)來自多個(gè)表)。但view層只需顯示10個(gè)字段,沒有必要把整個(gè)PO對(duì)象傳遞到client,這時(shí)我們就可以用只有這10個(gè)屬性的DTO來傳輸數(shù)據(jù)到client,這樣也不會(huì)暴露server端表結(jié)構(gòu)。到達(dá)客戶端以后,如果用這個(gè)對(duì)象來對(duì)應(yīng)界面顯示,那此時(shí)它的身份就轉(zhuǎn)為VO。

7. DO

domain object:領(lǐng)域?qū)ο?br> 從現(xiàn)實(shí)世界中抽象出來的有形或無形的業(yè)務(wù)實(shí)體。DO和PO在絕大部分情況下是一一對(duì)應(yīng)的,PO是只含有g(shù)et/set方法的POJO。

8. DAO

data access object:數(shù)據(jù)訪問對(duì)象
為業(yè)務(wù)層提供接口,負(fù)責(zé)與底層MySQL、Oracle、Hbase等進(jìn)行交互。

參考文獻(xiàn)

  1. https://blog.csdn.net/u011870547/article/details/81077153
  2. https://blog.csdn.net/qq_41604862/article/details/79675223?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf
  3. https://blog.csdn.net/loongshawn/article/details/72367771?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
  4. https://www.cnblogs.com/hunmeng/p/11298680.html
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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