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


Java Bean:一種可重用組件,即“一次編寫,任何地方執行,任何地方重用”。滿足三個條件

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

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等等,他們組合氣來是第一張保單的BO

POJO

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

可以額轉化為PO、DTO、VO;比如POJO在傳輸過程中就是DTO

DAO

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

其他的還有model/module/domain/entity

Entity

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM