Object划分
Object劃分
1.PO(persistantobject)持久對(duì)象
PO就是對(duì)應(yīng)數(shù)據(jù)庫中某個(gè)表中的一條記錄,多個(gè)記錄可以用PO的集合。PO中應(yīng)該不包
含任何對(duì)數(shù)據(jù)庫的操作。
2.DO(DomainObject)領(lǐng)域?qū)ο?/h2>
就是從現(xiàn)實(shí)世界中抽象出來的有形或無形的業(yè)務(wù)實(shí)體。
3.TO(TransferObject),數(shù)據(jù)傳輸對(duì)象
不同的應(yīng)用程序之間傳輸?shù)膶?duì)象
4.DTO(DataTransferObject)數(shù)據(jù)傳輸對(duì)象
這個(gè)概念來源于J2EE的設(shè)計(jì)模式,原來的目的是為了EJB的分布式應(yīng)用提供粗粒度的數(shù)據(jù)實(shí)體,以減少分布式調(diào)用的次數(shù),從而提高分布式調(diào)用的性能和降低網(wǎng)絡(luò)負(fù)載,但在這
里,泛指用于展示層與服務(wù)層之間的數(shù)據(jù)傳輸對(duì)象。
5.VO(valueobject)值對(duì)象
通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞,和PO一樣也是僅僅包含數(shù)據(jù)而已。但應(yīng)是抽象出的業(yè)務(wù)對(duì)象,可以和表對(duì)應(yīng),也可以不,這根據(jù)業(yè)務(wù)的需要。用new關(guān)鍵字創(chuàng)建,由GC回收的。
Viewobject:視圖對(duì)象;
接受頁面?zhèn)鬟f來的數(shù)據(jù),封裝對(duì)象
將業(yè)務(wù)處理完成的對(duì)象,封裝成頁面要用的數(shù)據(jù)
6.BO(businessobject)業(yè)務(wù)對(duì)象
從業(yè)務(wù)模型的角度看,見UML元件領(lǐng)域模型中的領(lǐng)域?qū)ο蟆7庋b業(yè)務(wù)邏輯的java對(duì)象,通過調(diào)用DAO方法,結(jié)合PO,VO進(jìn)行業(yè)務(wù)操作。businessobject:業(yè)務(wù)對(duì)象主要作用是把業(yè)務(wù)邏輯封裝為一個(gè)對(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。這樣處理業(yè)務(wù)邏輯時(shí),我們就可以針對(duì)BO去處理。
7.POJO(plainordinaryjavaobject)簡單無規(guī)則java對(duì)象
傳統(tǒng)意義的java對(duì)象。就是說在一些Object/RelationMapping工具中,能夠做到維護(hù)數(shù)據(jù)庫表記錄的persisentobject完全是一個(gè)符合JavaBean規(guī)范的純Java對(duì)象,沒有增加別的屬性和方法。我的理解就是最基本的javaBean,只有屬性字段及setter和getter方法!。
POJO是DO/DTO/BO/VO的統(tǒng)稱。
8.DAO(dataaccessobject)數(shù)據(jù)訪問對(duì)象
是一個(gè)sun的一個(gè)標(biāo)準(zhǔn)j2ee設(shè)計(jì)模式,這個(gè)模式中有個(gè)接口就是DAO,它負(fù)持久層的操作。為業(yè)務(wù)層提供接口。此對(duì)象用于訪問數(shù)據(jù)庫。通常和PO結(jié)合使用,DAO中包含了各種數(shù)據(jù)庫的操作方法。通過它的方法,結(jié)合PO對(duì)數(shù)據(jù)庫進(jìn)行相關(guān)的操作。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間。配合VO,提供數(shù)據(jù)庫的CRUD操作.
總結(jié)
- 上一篇: JSR-303
- 下一篇: Go语言基础之基本数据类型