Java開發中的幾種物件的說明(PO,VO,DTO,BO,POJO,DAO,SAO等)

FKNIGHT0X發表於2018-08-13

一、PO :(persistant object ),持久物件

可以看成是與資料庫中的表相對映的java物件,也就是說只有屬性和setter和getter方法。使用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之類的方法。

 

六、DTO:(Data Transfer Object),資料傳輸物件。

是一種設計模式之間傳輸資料的軟體應用系統。通常用於不同層(UI層、服務層或者域模型層)直接的資料傳輸,以隔離不同層,降低層間耦合。

七、SAO :(Service Access Object) 服務訪問物件。

原文地址:https://blog.csdn.net/USTC_Zn/article/details/62238419

相關文章