1. PO
persistant object:持久層對(duì)象
- 有時(shí)也被稱為Data對(duì)象,對(duì)應(yīng)數(shù)據(jù)庫中的entity,可以簡單認(rèn)為一個(gè)PO對(duì)應(yīng)數(shù)據(jù)庫中的一條記錄。
- 在hibernate持久化框架中與insert/delet操作密切相關(guān)。
- PO中不應(yīng)該包含任何對(duì)數(shù)據(jù)庫的操作。
2. POJO
plain ordinary java object:無規(guī)則簡單java對(duì)象
- 傳統(tǒng)意義的 java 對(duì)象。
- 可以轉(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ì)象
- 用在需要跨進(jìn)程或遠(yuǎn)程傳輸時(shí),它不應(yīng)該包含業(yè)務(wù)邏輯。
- 比如一張表有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)
- https://blog.csdn.net/u011870547/article/details/81077153
- 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
- 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
- https://www.cnblogs.com/hunmeng/p/11298680.html