PO
persistent object 持久對象
有時也被稱為Data對象具垫,對應數(shù)據(jù)庫中的entity,可以簡單認為一個PO對應數(shù)據(jù)庫中的一條記錄俱笛。
在hibernate持久化框架中與insert/delet操作密切相關(guān)群井。
PO中不應該包含任何對數(shù)據(jù)庫的操作。
VO
value object 值對象
通常用于業(yè)務層之間的數(shù)據(jù)傳遞商玫,由new創(chuàng)建,由GC回收
和PO一樣也是僅僅包含數(shù)據(jù)而已牡借,但應是抽象出的業(yè)務對象拳昌,可以和表對應,也可以不是
DTO
data transfer object 數(shù)據(jù)傳輸對象
是一種設(shè)計模式之間傳輸數(shù)據(jù)的軟件應用系統(tǒng)钠龙,數(shù)據(jù)傳輸目標往往是數(shù)據(jù)訪問對象從數(shù)據(jù)庫中檢索數(shù)據(jù)
數(shù)據(jù)傳輸對象與數(shù)據(jù)交互對象或數(shù)據(jù)訪問對象之間的差異是一個以不具任何行為除了存儲和檢索的數(shù)據(jù)(訪問和存取器)
簡而言之炬藤,就是接口之間傳遞的數(shù)據(jù)封裝
表里面有十幾個字段:id,name碴里,gender(M/F)沈矿,age……
頁面需要展示三個字段:name,gender(男/女)咬腋,age
DTO由此產(chǎn)生羹膳,一是能提高數(shù)據(jù)傳輸?shù)乃俣?減少了傳輸字段),二能隱藏后端表結(jié)構(gòu)
BO
business object 業(yè)務對象
BO把業(yè)務邏輯封轉(zhuǎn)為一個對象根竿,通過調(diào)用DAO方法陵像,結(jié)合PO或VO進行業(yè)務操作
PO組合,如投保人是一個PO寇壳,被保險人是一個PO醒颖,險種信息是一個PO等等,他們組合氣來是第一張保單的BO九巡。
POJO
plian ordinary java object:簡單無規(guī)則java對象
純的傳統(tǒng)意義的java對象图贸,最基本的Java Bean只有屬性加上屬性的get和set方法
可以額轉(zhuǎn)化為PO、DTO、VO疏日;比如POJO在傳輸過程中就是DTO
DAO
data access object:數(shù)據(jù)訪問對象
是sun的一個標準j2ee設(shè)計模式偿洁,這個模式中有個接口就是DAO,負責持久層的操作
主要用來封裝對數(shù)據(jù)的訪問沟优,注意涕滋,是對數(shù)據(jù)的訪問,不是對數(shù)據(jù)庫的訪問
其他的還有model/module/domain/entity
Entity
實體挠阁,和PO的功能類似宾肺,和數(shù)據(jù)表一一對應,一個實體一張表