作為測試研發進階的初級菜鳥,最近看公司研發寫的工程代碼,有些規則的命名,然不知道具體意義。以下內容來自網絡。
PO(persistant object)持久對象
在o/r映射的時候出現的概念,如果沒有o/r映射,就沒有這個概念存在了.通常對應數據模型(數據庫),本身還有部分業務邏輯的處理.可以看成是與數據庫中的表相映射的java對象.最簡單的PO就是對應數據庫中某個表中的一條記錄,多個記錄可以用PO的集合,只能存活在一個數據庫連接中,斷開連接即被銷毀。
O/R映射:層是持久層的一個特例,它的數據模型是對象模型(Object),存儲模型是關系模型(Relational),cmp和Hibernate是對象模型到關系模型之間轉換的兩種不同實現。
VO(value object)值對象
精確點講它是業務對象,是存活在業務層的,是業務邏輯使用的,它存活的目的就是為數據提供一個生存的地方。
BO(business object)業務對象
從業務模型的角度看,見UML元件領域模型中的領域對象。封裝業務邏輯的java對象,通過調用DAO方法,結合PO,VO進行業務操作。 主要作用是把業務邏輯封裝為一個對象。這個對象可以包括一個或多個其它的對象。比如一個簡歷,有教育經歷、工作經歷、社會關系等等。 我們可以把教育經歷對應一個PO,工作經歷對應一個PO,社會關系對應一個PO。 建立一個對應簡歷的BO對象處理簡歷,每個BO包含這些PO。 這樣處理業務邏輯時,我們就可以針對BO去處理。
POJO(plain ordinary java object)簡單無規則java對象
純的傳統意義的java對象.就是說在一些Object/Relation Mapping工具中,能夠做到維護數據庫表記錄的persisent object完全是一個符合Java Bean規范的純Java對象,沒有增加別的屬性和方法.我的理解就是最基本的Java Bean,只有屬性字段及setter和getter方法!.
DAO(data access object)數據訪問對象
是sun的一個標准j2ee設計模式,這個模式中有個接口就是DAO,它負責持久層的操作.為業務層提供接口.此對象用於訪問數據庫.通常和PO結合使用,DAO中包含了各種數據庫的操作方法.通過它的方法,結合PO對數據庫進行相關的操作.夾在業務邏輯與數據庫資源中間.配合VO,提供數據庫的CRUD操作。
DTO (Data Transfer Object)數據傳輸對象
主要用於遠程調用等需要大量傳輸對象的地方。
比如我們一張表有100個字段,那么對應的PO就有100個屬性。
但是我們界面上只要顯示10個字段,
客戶端用WEB service來獲取數據,沒有必要把整個PO對象傳遞到客戶端,
這時我們就可以用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構.到達客戶端以后,如果用這個對象來對應界面顯示,那此時它的身份就轉為VO。
TO(Transfer Object),數據傳輸對象
在應用程序不同tie(關系)之間傳輸的對象