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.在模型物件中封裝資料和基本行為模型物件維護應用程式的資料,並定義運算元據的特定邏輯。模型物件可以復用,因為它所表示的知識適用於特定的問題領域。理想...