PO(persistant object) 持久對象
在 o/r 映射的時候出現(xiàn)的概念,如果沒有 o/r 映射,沒有這個概念存在了。通常對應數(shù)據(jù)模型 ( 數(shù)據(jù)庫 ), 本身還有部分業(yè)務邏輯的處理。可以看成是與數(shù)據(jù)庫中的表相映射的 java 對象。最簡單的 PO 就是對應數(shù)據(jù)庫中某個表中的一條記錄,多個記錄可以用 PO 的集合。 PO 中應該不包含任何對數(shù)據(jù)庫的操作。
DO(Domain Object)領(lǐng)域?qū)ο?/h3>
就是從現(xiàn)實世界中抽象出來的有形或無形的業(yè)務實體。一般和數(shù)據(jù)中的表結(jié)構(gòu)對應。
DTO(Data Transfer Object) 數(shù)據(jù)傳輸對象
這個概念來源于J2EE的設(shè)計模式,原來的目的是為了EJB的分布式應用提供粗粒度的數(shù)據(jù)實體,以減少分布式調(diào)用的次數(shù),從而提高分布式調(diào)用的性能和降低網(wǎng)絡(luò)負載,但在這里,我泛指用于展示層與服務層之間的數(shù)據(jù)傳輸對象。
VO(view object) 值對象
視圖對象,用于展示層,它的作用是把某個指定頁面(或組件)的所有數(shù)據(jù)封裝起來。
舉個DTO,VO的例子
登陸京東商城,登陸的時候需要給后端傳送賬號密碼,這里給他設(shè)為一個對象LoginUser;登陸成功后后端向前端返回一組數(shù)據(jù)用于展示京東商品頁面,這個對象叫ShowMessage;
在這個例子里,LoginUser便是DTO;ShowMessage既是VO