初識VO、DTO、DO、PO實體類

首先解釋一下,VO、DTO、DO、PO均是實體類,其性質是一樣的,只是因爲安全性及其他原因將其劃分爲了不同的層次。之所以這麼劃分是因爲:假如有一張user表,包含userName、userPassWord、age、position這四個字段。現要展示user表中的信息到頁面,密碼肯定是不能展示的,但是與表user對應的PO實體類有userPassWord屬性,如果全局都用這一個實體類,那麼密碼字段也會被傳到頁面,卻不被使用。這樣一來,傳遞了無用字段,並且安全性得不到保障。

1. VO:View Object(視圖對象,作用於前臺頁面與表示層之間,將所有的數據封裝到一起,比如:表單數據)

VO一般用於封裝前端頁面傳遞到Action/Controller的所有參數,這些參數並不一定完全與數據庫中表的所有字段均匹配。

2. DTO: Data Transfer Object(數據傳輸對象,作用於表示層與業務層之間)

Action/Controller將接收到的VO對象進行業務邏輯處理,轉化或者構造成DTO對象將其傳遞給service層

3. DO:Domain Object(領域對象,作用於業務層與dao層之間)

service使用接收到的DTO數據傳輸對象構造或者重構DO對象,傳遞到dao層

4. PO:Persistent Object(持久化對象,作用於dao層與數據庫交互)

PO對象一般對應着表結構,由DO對象進過持久化得到PO對象(比如,通過orm將其持久化)。轉化爲持久化對象PO後則可以與數據庫進行交互。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章