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ū)ο?/h3>
就是從現(xiàn)實世界中抽象出來的有形或無形的業(yè)務(wù)實體景埃。一般和數(shù)據(jù)中的表結(jié)構(gòu)對應(yīng)媒至。
DTO(Data Transfer Object) 數(shù)據(jù)傳輸對象
這個概念來源于J2EE的設(shè)計模式顶别,原來的目的是為了EJB的分布式應(yīng)用提供粗粒度的數(shù)據(jù)實體,以減少分布式調(diào)用的次數(shù)塘慕,從而提高分布式調(diào)用的性能和降低網(wǎng)絡(luò)負(fù)載筋夏,但在這里蒂胞,我泛指用于展示層與服務(wù)層之間的數(shù)據(jù)傳輸對象图呢。
VO(view object) 值對象
視圖對象,用于展示層骗随,它的作用是把某個指定頁面(或組件)的所有數(shù)據(jù)封裝起來蛤织。
舉個DTO,VO的例子
登陸京東商城,登陸的時候需要給后端傳送賬號密碼鸿染,這里給他設(shè)為一個對象LoginUser指蚜;登陸成功后后端向前端返回一組數(shù)據(jù)用于展示京東商品頁面,這個對象叫ShowMessage涨椒;
在這個例子里摊鸡,LoginUser便是DTO;ShowMessage既是VO