一苔咪、簡(jiǎn)單Java對(duì)象
1??PO persistent object
持久對(duì)象锰悼。與數(shù)據(jù)庫里表字段一一對(duì)應(yīng)。PO是一些屬性团赏,以及set和get方法組成箕般。一般情況下,一個(gè)表對(duì)應(yīng)一個(gè)PO馆里,直接與操作數(shù)據(jù)庫的crud相關(guān)隘世。
2??VO view object
/value object
表現(xiàn)層對(duì)象。通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞鸠踪,和PO一樣也是僅僅包含數(shù)據(jù)而已丙者。但應(yīng)是抽象出的業(yè)務(wù)對(duì)象,可以和表對(duì)應(yīng)营密,也可以不械媒。這根據(jù)業(yè)務(wù)的需要而定。對(duì)于頁面上要展示的對(duì)象评汰,可以封裝一個(gè)VO對(duì)象纷捞,將所需數(shù)據(jù)封裝進(jìn)去。
3??DTO data trasfer object
數(shù)據(jù)傳輸對(duì)象被去。主要用于遠(yuǎn)程調(diào)用等需要大量傳輸對(duì)象的地方主儡。
比如一張表有 100 個(gè)字段,那么對(duì)應(yīng)的 PO 就有 100 個(gè)屬性惨缆。 但是界面上只要顯示 10 個(gè)字段糜值, 客戶端用 WEB service 來獲取數(shù)據(jù)丰捷,沒有必要把整個(gè) PO 對(duì)象傳遞到客戶端,
這時(shí)就可以用只有這 10 個(gè)屬性的 DTO 來傳遞結(jié)果到客戶端寂汇,這樣也不會(huì)暴露服務(wù)端表結(jié)構(gòu) . 到達(dá)客戶端以后病往,如果用這個(gè)對(duì)象來對(duì)應(yīng)界面顯示,那此時(shí)它的身份就轉(zhuǎn)為 VO骄瓣。
4??POJO plain ordinary java object
/pure old java object
簡(jiǎn)單無規(guī)則 java 對(duì)象停巷,純的傳統(tǒng)意義的 java 對(duì)象。
二、復(fù)雜Java對(duì)象
1??BO/DO bussiness object
/Domain Object
業(yè)務(wù)對(duì)象、域?qū)ο蠛痪 7庋b業(yè)務(wù)邏輯的 Java 對(duì)象,通過調(diào)用 DAO 方法硼被,結(jié)合 PO,VO 進(jìn)行業(yè)務(wù)操作渗磅。一個(gè)BO對(duì)象可以包括多個(gè)PO對(duì)象。如常見的工作簡(jiǎn)歷例子為例检访,簡(jiǎn)歷可以理解為一個(gè)BO始鱼,簡(jiǎn)歷又包括工作經(jīng)歷,學(xué)習(xí)經(jīng)歷等脆贵,這些可以理解為一個(gè)個(gè)的PO医清,由多個(gè)PO組成BO。
2??DAO data access object
數(shù)據(jù)訪問對(duì)象卖氨。此對(duì)象用于訪問數(shù)據(jù)庫会烙。通常和 PO 結(jié)合使用,DAO 中包含了各種數(shù)據(jù)庫的操作方法筒捺。通過它的方法柏腻,結(jié)合 PO 對(duì)數(shù)據(jù)庫進(jìn)行相關(guān)的操作。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間系吭。