PO,VO,DAO,BO,POJO之间的区别与解释
VO
value object:值對象
通常用于業務層之間的數據傳遞,由new創建,由GC回收。
PO
persistant object:持久層對象
對應數據庫中表的字段。
VO和PO,都是屬性加上屬性的get和set方法;表面看沒什么不同,但代表的含義是完全不同的。
DTO
data transfer object:數據傳輸對象。
表里面有十幾個字段:id,name,gender(M/F),age,conmpanyId(如001)…
頁面需要展示四個字段:name,gender(男/女),age,conmpanyName(如今日頭條股份有限公司)。
DTO由此產生,一是能提高數據傳輸的速度(減少了傳輸字段),二能隱藏后端表結構。
BO
business object:業務對象
BO把業務邏輯封裝為一個對象。
我理解是PO的組合,比如投保人是一個PO,被保險人是一個PO,險種信息是一個PO等等,他們組合起來是第一張保單的BO。
POJO
plain ordinary java object:簡單無規則java對象
純的傳統意義的java對象,最基本的Java Bean只有屬性加上屬性的get和set方法。
可以轉化為PO、DTO、VO;比如POJO在傳輸過程中就是DTO。
DAO
data access object:數據訪問對象
主要用來封裝對數據的訪問,注意,是對數據的訪問,不是對數據庫的訪問。
Java Bean:一種可重用組件,即“一次編寫,任何地方執行,任何地方重用”。滿足三個條件a.類必須是具體的和公共的;b.具有無參構造器;c.提供一致性設計模式的公共方法將內部域暴露成員屬性。
PO:持久對象(Persistent Object)是ORM(Object Relational Mapping)框架中Entity,PO的屬性和數據表的字段形成一一對應關系。
VO:值對象(Value Object),通常用于業務層之間的數據傳遞,和PO一樣也是僅僅包含數據而已,但應是抽象出的業務對象,可以和表對應,也可以不是。
BO:業務對象(Business Object),封裝業務邏輯,通過調用DAO方法,結合PO或VO進行業務操作。
DTO:數據傳輸對象(Data Transfer Object),是一種設計模式之間傳輸數據的軟件應用系統。數據傳輸目標往往是數據訪問對象從數據庫中檢索數據。數據傳輸對象與數據交互對象或數據訪問對象之間的差異是一個以不具有任何行為除了存儲和檢索的數據(訪問和存取器)。簡單點說就是接口之間傳遞的數據封裝。
DAO:數據訪問對象(Data Access Object)是sun的一個標準j2ee設計模式,這個模式中有個接口就是DAO,負責持久層的操作。
Entity:實體,和PO的功能類似,和數據表一一對應,一個實體一張表。
其實這些都是Java對象,只不過在項目中用于不同的場合罷了。
總結
以上是生活随笔為你收集整理的PO,VO,DAO,BO,POJO之间的区别与解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网卡接口
- 下一篇: 七、ref引用与数组的常用方法