天天看點

java中的幾種對象(PO,VO,DAO,BO,POJO)

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

可以看成是與資料庫中的表相映射的java對象。使用Hibernate來生成PO是不錯的選擇。

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

通常用于業務層之間的資料傳遞,和PO一樣也是僅僅包含資料而已。但應是抽象出的業務對象,可以和表對應,也可以不,這根據業務的需要.

PO隻能用在資料層,VO用在商業邏輯層和表示層。各層操作屬于該層自己的資料對象,這樣就可以降低各層之間的耦合,便于以後系統的維護和擴充。

三、DAO :(Data Access Objects)  ,資料通路對象接口

DAO是Data Access Object資料通路接口,資料通路:顧名思義就是與資料庫打交道。夾在業務邏輯與資料庫資源中間。

J2EE開發人員使用資料通路對象(DAO)設計模式把底層的資料通路邏輯和高層的商務邏輯分開.實作DAO模式能夠更加專注于編寫資料通路代碼.

DAO模式是标準的J2EE設計模式之一.開發人員使用這個模式把底層的資料通路操作和上層的商務邏輯分開.一個典型的DAO實作有下列幾個元件:

  1. 一個DAO工廠類;

  2. 一個DAO接口;

  3. 一個實作DAO接口的具體類;

  4. 資料傳遞對象(有些時候叫做值對象).

  具體的DAO類包含了從特定的資料源通路資料的邏輯。

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

表示應用程式領域内“事物”的所有實體類。這些實體類駐留在伺服器上,并利用服務類來協助完成它們的職責。

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

實際就是普通JavaBeans,使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接.

其中有一些屬性及其getter、setter方法的類,有時可以作為value object或dto(Data Transform Object)來使用.當然,如果你有一個簡單的運算屬性也是可以的,但不允許有業務方法,也不能攜帶有connection之類的方法。