Мне назначили работать на сайте, который использует MVC для уровня представления и который разговаривает с сервисом WCF. Оба используют DTO для передачи информации взад и вперед.Объекты передачи данных в Asp.net MVC
В настоящее время DTO используются во всей части MVC (Пользователь, Адрес, Информация об учетной записи). Например, класс пользователя в MVC имеет PersonDTO, который содержит всю информацию о пользователе, а также методы, специфичные для веб (логин):
public class User
{
public PersonDTO Person { get; set; }
public void Login { /* Login */ }
}
Так, чтобы получить пользователи имя, вы должны сделать следующее:
var CurrentUser = new User();
var firstName = CurrentUser.Person.First;
Есть ли лучший способ сделать это? (Похоже, что это должен быть CurrentUser.First)
Помимо словесности, есть ли подводные камни этого?
Являются ли DTO предназначенными для того, чтобы истекать кровью в действия контроллера в MVC?