Java各種物件(PO,BO等)的區分
PO:持久物件 (persistent object)。
PO是在Object/Relation Mapping框架中的Entity,它的每個屬性基本上都對應資料庫表裡面的某個欄位。完全是一個符合Java Bean規範的純Java物件,沒有增加別的屬性和方法。持久物件是由insert資料庫建立,由資料庫delete刪除的。基本上持久物件生命週期和資料庫密切相關。
VO:有兩種解釋。
一是值物件(Value Object),通常用於業務層之間的資料傳遞,和PO一樣也是僅僅包含資料而已。但應是抽象出的業務物件,可以和表對應,也可以不,這根據業務的需要。
二是表現層物件(View Object)
BO:業務物件層的縮寫(Business Object)。
封裝業務邏輯的java物件,通過呼叫DAO方法,結合PO,VO進行業務操作。
DTO:資料傳輸物件(Data Transfer Object)。
較少使用,基本放入到DAO中,一般起到過渡的作用。
JavaBean:一種可重用元件,即“一次性編寫,任何地方執行,任何地方重用”。
它滿足三個條件:①類必須是具體的和公共的;②具有無參構造器;③提供一致性設計模式的公共方法,從而暴露內部成員屬性。
主要用途:可以用在功能、處理、值、資料庫訪問和JSP中任何可以用Java程式碼創造的物件。
JavaBean有兩種:一種是有使用者介面(UI,User Interface)的JavaBean;還有一種是沒有使用者介面,主要負責處理事務(如資料運算,操縱資料庫)的JavaBean。JSP通常訪問的是後一種JavaBe。
JavaBeans:JavaBeans。
從狹義來說,指的是 JavaBeans 規範,也就是位於 java.beans 包中的一組 API;從廣義上來說,JavaBeans 指的是 API 集合,比如 Enterprise JavaBeans。
POJO:(Plain Ordinary Java Object),簡單的Java物件
POJO實質上可以理解為簡單的實體類,顧名思義POJO類的作用是方便程式設計師使用資料庫中的資料表,對於廣大的程式設計師,可以很方便地將POJO類當做物件來進行使用,當然也是可以方便地呼叫其get,set方法。POJO類也給我們在struts框架中的配置帶來了很大的方便。
一個POJO持久化以後就是PO
直接用它傳遞、傳遞過程中就是DTO
直接用來對應表示層就是VO
DAO:(Data Access Object)資料訪問物件是一個數據訪問介面。它可以把POJO持久化為PO,用PO組裝出來VO、DTO。
DAO模式是標準的J2EE設計模式之一,開發人員使用這個模式把底層的資料訪問操作和上層的商務邏輯分開。一個典型的DAO實現有下列幾個元件:
1. 一個DAO工廠類;
2. 一個DAO介面;
3. 一個實現DAO介面的具體類;
4. 資料傳遞物件(有些時候叫做值物件)。
具體的DAO類包含了從特定的資料來源訪問資料的邏輯,一般來說,一個DAO類和一張表對應,每個操作要和事務關聯。