Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念

PO(persistant object) 持久對象

  • 在 o/r 映射的時候出現的概念,若是沒有 o/r 映射,沒有這個概念存在了
  • 一般對應數據模型 ( 數據庫 ), 自己還有部分業務邏輯的處理
  • 能夠當作是與數據庫中的表相映射的 java 對象
  • 最簡單的 PO 就是對應數據庫中某個表中的一條記錄,多個記錄能夠用 PO 的集合
  • PO 中應該不包含任何對數據庫的操做

DO(Domain Object)領域對象

  • 就是從現實世界中抽象出來的有形或無形的業務實體
  • 通常和數據中的表結構對應

TO(Transfer Object) ,數據傳輸對象

  • 在應用程序不一樣 tie( 關係 ) 之間傳輸的對象

DTO(Data Transfer Object)數據傳輸對象

  • 這個概念來源於J2EE的設計模式,原來的目的是爲了EJB的分佈式應用提供粗粒度的數據實體,以減小分佈式調用的次數
  • 從而提升分佈式調用的性能和下降網絡負載,但在這裏,我泛指用於展現層與服務層之間的數據傳輸對象

VO(view object) 值對象

  • 視圖對象,用於展現層,它的做用是把某個指定頁面(或組件)的全部數據封裝起來

BO(business object) 業務對象

  • 從業務模型的角度看 , 見 UML 元件領域模型中的領域對象
  • 封裝業務邏輯的 java 對象 , 經過調用 DAO 方法 , 結合 PO,VO 進行業務操做
  • business object: 業務對象 主要做用是把業務邏輯封裝爲一個對象。這個對象能夠包括一個或多個其它的對象
  • 好比一個簡歷,有教育經歷、工做經歷、社會關係等等。 咱們能夠把教育經歷對應一個 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 操做
相關文章
相關標籤/搜索