mvc模式中關於DTO層的簡單使用

2021-08-08 03:42:10 字數 1262 閱讀 9923

dto:data transfer object,資料傳輸物件,起到資料封裝與隔離的作用

在實際專案中,dto的分在兩層傳輸,一層是service層向controller層,這一層的dto封裝service執行結果,給controller,簡化業務資料,只提取部分業務相關欄位或補充處理相關字段,不同業務可能有不同的此類dto,具有業務相關性;

另外一層是controller層向web前端層,這一層dto封裝controller執行結果,返回給前端web,請求返回實體封裝類,適用於所有ajax請求返回的型別實體,無業務相關性

實際上,第一層dto通常會被封裝進第二次dto中,在介面呼叫如rpc呼叫中,訂閱者只需要拿到簡化的業務資料物件,而不用把整個實體bean給對方。

service層向controller層dto: 

例如執行秒殺業務,執行結果通常包含狀態碼、狀態資訊、執行業務id以及成功的明細資料,把分散的資料進行封裝返回給controller

dto實體類:

public class seckillexecution 

/*** 秒殺執行失敗的初始化

* @param seckillid

* @param seckillstateenum 封裝狀態資訊的列舉常量

*/public seckillexecution(long seckillid, seckillstateenum seckillstateenum)

setter()

getter()

}

service直接返回dto物件:

public seckillexecution executeseckill(。。。)

而實際的業務物件是這樣的:

public class seckill

注:在rpc介面呼叫過程中,把dto及介面提供給訂閱者,而不用冗餘的業務實體。

controller層向web前端層dto:

public class seckillresult

/*** 資料獲取成功,封裝資料實體

* @param success

* @param data

* @param error

*/public seckillresult(boolean success, t data)

setter()

getter()

}

關於三層架構和MVC模式的思考

mvc模式 核心 1.解耦model和view,即使得model可以被不同的展示,比如一批統計資料可以分別用柱狀圖 餅圖表示 2.controller用來保證model和view的同步 model 模型層 負責業務邏輯和資料庫互動 view 檢視層 展示資料 controller 控制器三層架構 1...

關於MVC模式和軟體的三層架構的區別

mvc表現模式和三層架構模式有一定的相似之處,在這裡寫一寫他們的區別,有利於對他們之間的分辨。三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 介面層 user inte ce layer 業務邏輯層 business logic layer 資料訪問層...

MVC設計模式的簡單理解

mvc設計模式中有三個角色 模型 檢視 控制器,其核心是控制器為檢視物件和模型物件建立溝通渠道,就像m和v的中間協調人,將檢視物件和模型物件分離開來。1.在模型物件中封裝資料和基本行為模型物件維護應用程式的資料,並定義運算元據的特定邏輯。模型物件可以復用,因為它所表示的知識適用於特定的問題領域。理想...