PO:持久對(duì)象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每個(gè)屬性基本上都對(duì)應(yīng)數(shù)據(jù)庫(kù)表里面的某個(gè)字段。完全是一個(gè)符合Java Bean規(guī)范的純Java對(duì)象,沒(méi)有增加別的屬性和方法。持久對(duì)象是由insert數(shù)據(jù)庫(kù)創(chuàng)建,由數(shù)據(jù)庫(kù)delete刪除的?;旧铣志脤?duì)象生命周期和數(shù)據(jù)庫(kù)密切相關(guān)。
VO:值對(duì)象(Value Object),通常用于業(yè)務(wù)層之間的數(shù)據(jù)傳遞,和PO一樣也是僅僅包含數(shù)據(jù)而已。但應(yīng)是抽象出的業(yè)務(wù)對(duì)象,可以和表對(duì)應(yīng),也可以不,這根據(jù)業(yè)務(wù)的需要。
表現(xiàn)層對(duì)象(View Object),主要對(duì)應(yīng)展示界面顯示的數(shù)據(jù)對(duì)象,用一個(gè)VO對(duì)象來(lái)封裝整個(gè)界面展示所需要的對(duì)象數(shù)據(jù)。
BO:業(yè)務(wù)對(duì)象層的縮寫(xiě)(Business Object),封裝業(yè)務(wù)邏輯的java對(duì)象,通過(guò)調(diào)用DAO方法,結(jié)合PO,VO進(jìn)行業(yè)務(wù)操作。具體可以看網(wǎng)上的一個(gè)例子:
比如一個(gè)簡(jiǎn)歷,有教育經(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)簡(jiǎn)歷的BO對(duì)象處理簡(jiǎn)歷,每個(gè)BO包含這些PO。
這樣處理業(yè)務(wù)邏輯時(shí),我們就可以針對(duì)BO去處理。
DTO:數(shù)據(jù)傳輸對(duì)象(Data Transfer Object),是一種設(shè)計(jì)模式之間傳輸數(shù)據(jù)的軟件應(yīng)用系統(tǒng)。數(shù)據(jù)傳輸目標(biāo)往往是數(shù)據(jù)訪問(wèn)對(duì)象從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)。數(shù)據(jù)傳輸對(duì)象與數(shù)據(jù)交互對(duì)象或數(shù)據(jù)訪問(wèn)對(duì)象之間的差異是一個(gè)以不具有任何行為除了存儲(chǔ)和檢索的數(shù)據(jù)(訪問(wèn)和存取器)。簡(jiǎn)單來(lái)說(shuō),當(dāng)我們需要一個(gè)對(duì)象10個(gè)字段的內(nèi)容,但這個(gè)對(duì)象總共有20個(gè)字段,我們不需要把整個(gè)PO對(duì)象全部字段傳輸?shù)娇蛻舳耍强梢杂肈TO重新封裝,傳遞到客戶端。此時(shí),如果這個(gè)對(duì)象用來(lái)對(duì)應(yīng)界面的展現(xiàn),就叫VO。
JavaBean:一種可重用組件,即“一次性編寫(xiě),任何地方執(zhí)行,任何地方重用”。滿足三個(gè)條件①類必須是具體的和公共的②具有無(wú)參構(gòu)造器③提供一致性設(shè)計(jì)模式的公共方法將內(nèi)部域暴露成員屬性。
主要用途:可以用在 功能、處理、值、數(shù)據(jù)庫(kù)訪問(wèn)和JSP中任何可以用Java代碼創(chuàng)造的對(duì)象。
有兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒(méi)有用戶界面,主要負(fù)責(zé)處理事務(wù)(如數(shù)據(jù)運(yùn)算,操縱數(shù)據(jù)庫(kù))的JavaBean。JSP通常訪問(wèn)的是后一種JavaBean。
分類:通常有Session bean,Entity bean,MessageDrivenBean三大類
JavaBeans:JavaBeans 從狹義來(lái)說(shuō),指的是 JavaBeans 規(guī)范也就是位于 java.beans 包中的一組 API。從廣義上來(lái)說(shuō),JavaBeans 指的是 API 集合,比如 Enterprise JavaBeans。
POJO:POJO(Plain Ordinary Java Object)簡(jiǎn)單的Java對(duì)象,實(shí)際就是普通JavaBeans,是為了避免和EJB混淆所創(chuàng)造的簡(jiǎn)稱。通指沒(méi)有使用Entity Beans的普通java對(duì)象,可以把POJO作為支持業(yè)務(wù)邏輯的協(xié)助類。
聯(lián)系客服