java 中vo、po、dto、bo、pojo、entity、mode如何区分
PO
persistant object:持久層對象 (只負責從數據庫中獲取數據,一個P0對應一個表)
是ORM(Objevt Relational Mapping)框架中Entity,PO屬性和數據庫中表的字段形成一一對應關系
最形象的理解就是一個PO就是數據庫中的一條記錄。
好處是可以把一條記錄作為一個對象處理,可以方便的轉為其它對象。
VO
value object:值對象 (只負責向前臺返回數據)
主要體現在視圖的對象,對于一個WEB頁面將整個頁面的屬性封裝成一個對象。然后用一個VO對象在控制層與視圖層進行傳輸交換。
DTO
data transfer object:數據傳輸對象 (1、負責接收前臺傳過來的數據并傳遞后端2、把數據轉化成VO)
主要用于遠程調用等需要大量傳輸對象的地方。
簡而言之,就是接口之間傳遞的數據封裝
表里面有十幾個字段:id,name,gender(M/F),age……
頁面需要展示三個字段:name,gender(男/女),age
DTO由此產生,一是能提高數據傳輸的速度(減少了傳輸字段),二能隱藏后端表結構
BO
business object:業務對象 (如果邏輯簡單的話可以不加BO)
BO把業務邏輯封轉為一個對象, 這個對象可以包括一個或多個其它的對象。
比如一個簡歷,有教育經歷、工作經歷、社會關系等等。我們可以把教育經歷對應一個PO,工作經歷對應一個PO,社會關系對應一個PO。
建立一個對應簡歷的BO對象處理簡歷,每個BO包含這些PO。
獲取數據的過程:首先DAO從數據庫獲取結果集,轉換為PO。Domain接受到DAO傳遞過來的PO之后,負責將PO轉換為BO,再進行業務邏輯的處理。處理完畢,傳遞BO給service,service負責轉換為DTO,傳輸給前端接收到DTO之后,首先轉換為VO,然后再進行前端的業務處理。
提交數據的過程:前端將數據整理為DTO,傳輸給service,service轉換為BO傳輸給Domain,Domain轉換為PO,調用DAO提供的數據持久化方法,持久化PO,DAO負責將PO持久化為數據庫的數據。
POJO (POJO是一種概念或者接口,身份及作用隨環境變化而變化) :
plian ordinary java object:簡單無規則java對象
POJO有一些Private的參數作為對象的屬性。然后針對每個參數定義了get和set方法作為訪問的接口
Plain Ordinary Java Object簡單Java對象
即POJO是一個簡單的普通的Java對象,它不包含業務邏輯或持久邏輯等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不繼承或不實現任何其它Java框架的類或接口。
POJO對象有時也被稱為Data對象,大量應用于表現現實中的對象。
一個POJO持久化以后就是PO。
直接用它傳遞、傳遞過程中就是DTO
直接用來對應表示層就是VO
DAO
data access object:數據訪問對象
主要用來封裝對數據庫的訪問。通過它可以把POJO持久化為PO,用PO組裝出來VO、DTO
總結
以上是生活随笔為你收集整理的java 中vo、po、dto、bo、pojo、entity、mode如何区分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以太坊系列(二)---Ubuntu20.
- 下一篇: mysql 高并发 响应时间_高并发,你