vo、po、dto、bo、pojo、entity、mode如何區分

Java Bean:一種可重用組件,即「一次編寫,任何地方執行,任何地方重用」。知足三個條件java

  • 類必須是具體的和公共的
  • 具備無參構造器
  • 提供一致性設計模式的公共方法將內部域或暴露成員屬性

VO

value object:值對象 
一般用於業務層之間的數據傳遞,由new建立,由GC回收 
和PO同樣也是僅僅包含數據而已,但應是抽象出的業務對象,能夠和表對應,也能夠不是數據庫

PO

persistant object:持久層對象 
是ORM(Objevt Relational Mapping)框架中Entity,PO屬性和數據庫中表的字段造成一一對應關係 
VO和PO,都是屬性加上屬性的get和set方法;表面看沒什麼不一樣,但表明的含義是徹底不一樣的後端

DTO

data transfer object:數據傳輸對象 
是一種設計模式之間傳輸數據的軟件應用系統,數據傳輸目標每每是數據訪問對象從數據庫中檢索數據 
數據傳輸對象與數據交互對象或數據訪問對象之間的差別是一個以不具任何行爲除了存儲和檢索的數據(訪問和存取器) 
簡而言之,就是接口之間傳遞的數據封裝 
表裏面有十幾個字段:id,name,gender(M/F),age…… 
頁面須要展現三個字段:name,gender(男/女),age 
DTO由此產生,一是能提升數據傳輸的速度(減小了傳輸字段),二能隱藏後端表結構 
DTO設計模式

BO

business object:業務對象 
BO把業務邏輯封轉爲一個對象,經過調用DAO方法,結合PO或VO進行業務操做 
PO組合,如投保人是一個PO,被保險人是一個PO,險種信息是一個PO等等,他們組合氣來是第一張保單的BOapp

POJO

plian ordinary java object:簡單無規則java對象 
純的傳統意義的java對象,最基本的Java Bean只有屬性加上屬性的get和set方法框架

能夠額轉化爲PO、DTO、VO;好比POJO在傳輸過程當中就是DTOdom

DAO

data access object:數據訪問對象 
是sun的一個標準j2ee設計模式,這個模式中有個接口就是DAO,負責持久層的操做 
主要用來封裝對數據的訪問,注意,是對數據的訪問,不是對數據庫的訪問 
DAO對數據的訪問設計

其餘的還有model/module/domain/entity3d

Entity

實體,和PO的功能相似,和數據表一一對應,一個實體一張表code

相關文章
相關標籤/搜索