PO(persistant object) 持久對象
在 o/r 映射的時候出現(xiàn)的概念奥喻,如果沒有 o/r 映射,沒有這個概念存在了非迹。通常對應(yīng)數(shù)據(jù)模型 ( 數(shù)據(jù)庫 ), 本身還有部分業(yè)務(wù)邏輯的處理环鲤。可以看成是與數(shù)據(jù)庫中的表相映射的 java 對象憎兽。最簡單的 PO 就是對應(yīng)數(shù)據(jù)庫中某個表中的一條記錄冷离,多個記錄可以用 PO 的集合。 PO 中應(yīng)該不包含任何對數(shù)據(jù)庫的操作纯命。
DO(Domain Object)領(lǐng)域?qū)ο?/p>
就是從現(xiàn)實世界中抽象出來的有形或無形的業(yè)務(wù)實體西剥。一般和數(shù)據(jù)中的表結(jié)構(gòu)對應(yīng)。
TO(Transfer Object) 亿汞,數(shù)據(jù)傳輸對象
在應(yīng)用程序不同 tie( 關(guān)系 ) 之間傳輸?shù)膶ο?/p>
DTO(Data Transfer Object)數(shù)據(jù)傳輸對象
這個概念來源于J2EE的設(shè)計模式瞭空,原來的目的是為了EJB的分布式應(yīng)用提供粗粒度的數(shù)據(jù)實體,以減少分布式調(diào)用的次數(shù)疗我,從而提高分布式調(diào)用的性能和降低網(wǎng)絡(luò)負載咆畏,但在這里,我泛指用于展示層與服務(wù)層之間的數(shù)據(jù)傳輸對象吴裤。
VO(view object) 值對象
視圖對象旧找,用于展示層,它的作用是把某個指定頁面(或組件)的所有數(shù)據(jù)封裝起來麦牺。
BO(business object) 業(yè)務(wù)對象
從業(yè)務(wù)模型的角度看 , 見 UML 元件領(lǐng)域模型中的領(lǐng)域?qū)ο笈ブ搿7庋b業(yè)務(wù)邏輯的 java 對象 , 通過調(diào)用 DAO 方法 , 結(jié)合 PO,VO 進行業(yè)務(wù)操作。 business object: 業(yè)務(wù)對象 主要作用是把業(yè)務(wù)邏輯封裝為一個對象剖膳。這個對象可以包括一個或多個其它的對象愿卒。 比如一個簡歷,有教育經(jīng)歷潮秘、工作經(jīng)歷琼开、社會關(guān)系等等。 我們可以把教育經(jīng)歷對應(yīng)一個 PO 枕荞,工作經(jīng)歷對應(yīng)一個 PO 柜候,社會關(guān)系對應(yīng)一個 PO 搞动。 建立一個對應(yīng)簡歷的 BO 對象處理簡歷,每個 BO 包含這些 PO 渣刷。 這樣處理業(yè)務(wù)邏輯時鹦肿,我們就可以針對 BO 去處理。
POJO(plain ordinary java object) 簡單無規(guī)則 java 對象
純的傳統(tǒng)意義的 java 對象辅柴。就是說在一些 Object/Relation Mapping 工具中箩溃,能夠做到維護數(shù)據(jù)庫表記錄的 persisent object 完全是一個符合 Java Bean 規(guī)范的純 Java 對象,沒有增加別的屬性和方法碌嘀。我的理解就是最基本的 Java Bean 涣旨,只有屬性字段及 setter 和 getter 方法!股冗。
DAO(data access object) 數(shù)據(jù)訪問對象
是一個 sun 的一個標準 j2ee 設(shè)計模式霹陡, 這個模式中有個接口就是 DAO ,它負持久層的操作止状。為業(yè)務(wù)層提供接口烹棉。此對象用于訪問數(shù)據(jù)庫。通常和 PO 結(jié)合使用怯疤, DAO 中包含了各種數(shù)據(jù)庫的操作方法浆洗。通過它的方法 , 結(jié)合 PO 對數(shù)據(jù)庫進行相關(guān)的操作。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間集峦。配合 VO, 提供數(shù)據(jù)庫的 CRUD 操作