javaBean 是一種JAVA語言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數的構造器。JavaBean 通過提供符合一致性設計模式的公共方法將內部域暴露成員屬性。眾所周知,屬性名稱符合這種模式,其他Java 類可以通過自身機制發現和操作這些JavaBean 的屬性。
VO即value object值對象
主要體現在視圖的對象,對于一個WEB頁面將整個頁面的屬性封裝成一個對象。然后用一個VO對象在控制層與視圖層進行傳輸交換。
DTO (經過處理后的PO,可能增加或者減少PO的屬性):
Data Transfer Object數據傳輸對象
主要用于遠程調用等需要大量傳輸對象的地方。
比如我們一張表有100個字段,那么對應的PO就有100個屬性。
但是我們界面上只要顯示10個字段,
客戶端用WEB service來獲取數據,沒有必要把整個PO對象傳遞到客戶端,
這時我們就可以用只有這10個屬性的DTO來傳遞結果到客戶端,這樣也不會暴露服務端表結構.到達客戶端以后,如果用這個對象來對應界面顯示,那此時它的身份就轉為VO。
POJO(POJO是一種概念或者接口,身份及作用隨環境變化而變化) :
POJO有一些PRivate的參數作為對象的屬性。然后針對每個參數定義了get和set方法作為訪問的接口
plain ordinary java object 簡單java對象
即POJO是一個簡單的普通的Java對象,它不包含業務邏輯或持久邏輯等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不繼承或不實現任何其它Java框架的類或接口。
POJO對象有時也被稱為Data對象,大量應用于表現現實中的對象。
一個POJO持久化以后就是PO。
直接用它傳遞、傳遞過程中就是DTO
直接用來對應表示層就是VO
JavaBean: 先說JavaBean,JavaBean更多的是一種規范,也即包含一組set和get方法的Java對象。
POJO: 普通的Java對象,對于屬性一般實現了JavaBean的標準,另外還可以包含一些簡單的業務邏輯(方法)。
PO: POJO在持久層的體現,對POJO持久化后就成了PO。PO更多的是跟數據庫設計層面相關,一般PO與數據表對應,一個PO就是對應數據表的一條記錄。
DAO: PO持久化到數據庫是要進行相關的數據庫操作的(CRUQ),這些對數據庫操作的方法會統一放到一個Java對象中,這就是DAO。
BO: POJO在業務層的體現,對于業務操作來說,更多的是從業務上來包裝對象,如一個User的BO,可能包括name, age, sex, privilege, group等,這些屬性在數據庫中可能會在多張表中,因為每一張表對應一個PO,而我們的BO需要這些PO組合起來(或說重新拼裝)才能成為業務上的一個完整對象。
VO(Value Object/View Object): POJO在表現層的體現。 當我們處理完數據時,需要展現時,這時傳遞到表現層的POJO就成了VO。它就是為了展現數據時用的。
DTO(Data Transfer Object): POJO在系統間傳遞時。當我們需要在兩個系統間傳遞數據時,一種方式就是將POJO序列化后傳遞,這個傳遞狀態的POJO就是DTO。
新聞熱點
疑難解答