PO、VO、DAO、BO、DTO、POJO能分清嗎?

 

 

66套java從入門到精通實戰課程分享java

1、PO :(persistant object ),持久對象

能夠當作是與數據庫中的表相映射的java對象。使用Hibernate來生成PO是不錯的選擇。數據庫

2、VO :(value object) ,值對象

一般用於業務層之間的數據傳遞,和PO同樣也是僅僅包含數據而已。但應是抽象出的業務對象,能夠和表對應,也能夠不,這根據業務的須要.設計模式

PO只能用在數據層,VO用在商業邏輯層和表示層。各層操做屬於該層本身的數據對象,這樣就能夠下降各層之間的耦合,便於之後系統的維護和擴展。服務器

3、DAO :(Data Access Objects) ,數據訪問對象接口

DAO是Data Access Object數據訪問接口,數據訪問:顧名思義就是與數據庫打交道。夾在業務邏輯與數據庫資源中間。ide

J2EE開發人員使用數據訪問對象(DAO)設計模式把底層的數據訪問邏輯和高層的商務邏輯分開.實現DAO模式可以更加專一於編寫數據訪問代碼.設計

DAO模式是標準的J2EE設計模式之一.開發人員使用這個模式把底層的數據訪問操做和上層的商務邏輯分開.一個典型的DAO實現有下列幾個組件:orm

1. 一個DAO工廠類;對象

2. 一個DAO接口;接口

3. 一個實現DAO接口的具體類;資源

4. 數據傳遞對象(有些時候叫作值對象).

具體的DAO類包含了從特定的數據源訪問數據的邏輯。

4、BO :(Business Object),業務對象層

表示應用程序領域內「事物」的全部實體類。這些實體類駐留在服務器上,並利用服務類來協助完成它們的職責。

5、DTO Data Transfer Object數據傳輸對象

主要用於遠程調用等須要大量傳輸對象的地方。好比咱們一張表有100個字段,那麼對應的PO就有100個屬性。可是咱們界面上只要顯示10個字段,客戶端用WEB service來獲取數據,沒有必要把整個PO對象傳遞到客戶端,這時咱們就能夠用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構.到達客戶端之後,若是用這個對象來對應界面顯示,那此時它的身份就轉爲VO

6、POJO :(Plain Old Java Objects),簡單的Java對象

實際就是普通JavaBeans,使用POJO名稱是爲了不和EJB混淆起來, 並且簡稱比較直接.其中有一些屬性及其getter、setter方法的類,有時能夠做爲value object或dto(Data Transform Object)來使用.固然,若是你有一個簡單的運算屬性也是能夠的,但不容許有業務方法,也不能攜帶有connection之類的方法

相關文章
相關標籤/搜索