JavaBean, EntityBean, POJO, PO, BO,VO,DTO,DAO 區別

先記一部分

  1. 這個類是共有類(public),並且必須有一個公共的缺省構造函數。
  1. 這個類的屬性使用getter和setter來訪問,其他方法遵從標準命名規範。(JavaBean是一個定義了系列 get<Name> 和 set<Name> 方法的類,通過get set 方法對暴露成員變量

  JavaBean: 是一種Java語言寫成的可重用組件,它的方法命名,構造及行爲必須符合特定的約定。


  POJO(Plain Ordinary Java Object):,它不包含業務邏輯或持久邏輯等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不繼承或不實現任何其它Java框架的類或接口。


  PO: POJO在持久層的體現,對POJO持久化後就成了PO。在o/r映射的時候出現的概念,如果沒有o/r映射,沒有這個概念存在了。通常對應數據模型(數據庫),本身還有部分業務邏輯的處理。可以看成是與數據庫中的表相映射的java對象。最簡單的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。

  EJB(Enterprise JavaBean): 我認爲它是一組"功能"JavaBean的集合。上面說了JavaBean是實現了一種規範的Java對象。這裏說EJB是一組JavaBean,的意思是這一組JavaBean組合起來實現了某個企業組的業務邏輯。這裏的一組JavaBean不是亂組合的,它們要滿足能實現某項業務功能的搭配。找個比方,對於一身穿着來說,包括一頂帽子,一件衣服,一條褲子,兩隻鞋。這穿着就是EJB,其它的就是一個JavaBean。

發佈了9 篇原創文章 · 獲贊 153 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章