1. 程式人生 > >dto層與model層的區別

dto層與model層的區別

    Model層是面向業務的,我們是通過業務來定義Model的。而DTO是面向介面UI的,是通過UI的需求來定義的。

    通過DTO我們實現了表現層與Model之間的解耦,表現層不引用Model。如果開發過程中我們的模型改變了,而介面沒變,我們就只需要改Model而不需要去改表現層中的東西。

    需要了解的是,資料傳輸物件DTO本身並不是業務物件。資料傳輸物件是根據UI的需求進行設計的,而不 是根據領域物件進行設計的。比如,Customer領域物件可能會包含一些諸如FirstName, LastName, Email, Address等資訊。但如果UI上不打算顯示Address的資訊,那麼CustomerDTO中也無需包含這個 Address的資料