Использование DTO в ASP.NET MVC - PullRequest
3 голосов
/ 03 марта 2011

В контексте ASP.Net MVC 2.0 кто-нибудь может объяснить, почему мы должны использовать DTO (объект передачи данных), если уже могут быть модели? Я видел пример, когда веб-сервис возвращает DTO в asp.net, а затем он преобразуется в модель с использованием некоторого фабричного класса. Этот веб-сервис обращается к базе данных и возвращает данные в форме DTO.

В моих предыдущих проектах я использовал связь с БД с использованием контекста и репозитория данных, которые использовались для возврата объекта модели на мой контроллер. Затем я использовал для передачи этой модели в соответствующий вид. Разве это не проще? Я не могу выяснить точное использование паттернов DTO.

1 Ответ

5 голосов
/ 03 марта 2011

Модели представляют логическую модель данных, против которой закодированы ваши представления.Это может или не может отображать 1: 1 с источником (ами) данных.В ситуации, когда Model == DTO, я согласен, DTO несколько избыточен.

В большинстве ситуаций, в которых я использовал MVC, было довольно редко иметь один источник данных или не было желания отделить логическое представление от физических источников.Например, я часто выполняю несколько вызовов служб и баз данных для построения единой логической модели.

...