日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

什么是DTO ,DTO 有什么作用

作者:Aussise 更新時間: 2024-01-27 編程語言

DTO即數(shù)據(jù)傳輸對象。

之前不明白有些框架中為什么要專門定義DTO來綁定表現(xiàn)層中的數(shù)據(jù),為什么不能直接用實體模型呢,有了DTO同時還要維護DTO與Model之間的映射關(guān)系,多麻煩。

然后看了這篇文章中的討論部分才恍然大悟。

摘兩個比較有意義的段落。

表現(xiàn)層與應(yīng)用層之間是通過數(shù)據(jù)傳輸對象(DTO)進行交互的,數(shù)據(jù)傳輸對象是沒有行為的POCO對象,它?的目的只是為了對領(lǐng)域?qū)ο筮M行數(shù)據(jù)封裝,實現(xiàn)層與層之間的數(shù)據(jù)傳遞。為何不能直接將領(lǐng)域?qū)ο笥糜?數(shù)據(jù)傳遞?因為領(lǐng)域?qū)ο蟾⒅仡I(lǐng)域,而DTO更注重數(shù)據(jù)。不僅如此,由于“富領(lǐng)域模型”的特點,這樣?做會直接將領(lǐng)域?qū)ο蟮男袨楸┞督o表現(xiàn)層。

需要了解的是,數(shù)據(jù)傳輸對象DTO本身并不是業(yè)務(wù)對象。數(shù)據(jù)傳輸對象是根據(jù)UI的需求進行設(shè)計的,而不?是根據(jù)領(lǐng)域?qū)ο筮M行設(shè)計的。比如,Customer領(lǐng)域?qū)ο罂赡軙恍┲T如FirstName, LastName,?Email, Address等信息。但如果UI上不打算顯示Address的信息,那么CustomerDTO中也無需包含這個?Address的數(shù)據(jù)?

簡單來說Model面向業(yè)務(wù),我們是通過業(yè)務(wù)來定義Model的。而DTO是面向界面UI,是通過UI的需求來定義的。通過DTO我們實現(xiàn)了表現(xiàn)層與Model之間的解耦,表現(xiàn)層不引用Model,如果開發(fā)過程中我們的模型改變了,而界面沒變,我們就只需要改Model而不需要去改表現(xiàn)層中的東西。?

原文鏈接:https://blog.csdn.net/qq_46509116/article/details/135310052

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新