DTOs по сравнению с сериализацией сохраненных объектов

Чтобы не быть ужасно педантичным, но если Вы интернационализируете код, могло бы быть более полезно иметь средство для получения короткой даты данной культуры, например.:-

using System.Globalization;
using System.Threading;

...

var currentCulture = Thread.CurrentThread.CurrentCulture;
try {
  Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-us");
  string shortDateString = DateTime.Now.ToShortDateString();
  // Do something with shortDateString...
} finally {
  Thread.CurrentThread.CurrentCulture = currentCulture;
}

, Хотя ясно подход "m/dd/yyyy" значительно более опрятен!!

5
задан Alexis Abril 6 November 2009 в 15:54
поделиться

5 ответов

DTO. Используйте AutoMapper для сопоставления объектов

8
ответ дан 18 December 2019 в 13:15
поделиться

Я был в этом сценарии несколько раз раньше и могу сказать по опыту в обоих случаях. стороны. Первоначально я просто сериализовал свои сущности и отправлял их как есть. С функциональной точки зрения это работало нормально, но чем больше я вглядывался в это, тем больше понимал, что отправляю больше данных, чем мне нужно, и терял возможность изменять реализацию с обеих сторон. В последующих сервисных приложениях я решил создать DTO, единственная цель которых - получать данные в и из веб-сервиса.

Вне любого взаимодействия, необходимость думать обо всех полях, которые отправляются по сети, очень помогает (для меня), чтобы убедиться, что я не отправляю данные, которые не нужны или, что еще хуже, не должны выходить из строя клиенту.

Как уже упоминалось, AutoMapper - отличный инструмент для сопоставления сущностей с DTO.

Он используется для создания DTO, единственная цель которых - получать данные от веб-службы.

Вне любого взаимодействия, необходимость думать обо всех полях, которые отправляются по сети, очень помогает (для меня), чтобы убедиться, что я не отправляю данные, которые не нужны или, что еще хуже, не должны выходить из строя клиенту.

Как уже упоминалось, AutoMapper - отличный инструмент для сопоставления сущностей с DTO.

Он используется для создания DTO, единственная цель которых - получать данные от веб-службы.

Вне любого взаимодействия, необходимость думать обо всех полях, которые отправляются по сети, очень помогает (для меня), чтобы убедиться, что я не отправляю данные, которые не нужны или, что еще хуже, не должны выходить из строя клиенту.

Как уже упоминалось, AutoMapper - отличный инструмент для сопоставления сущностей с DTO.

3
ответ дан 18 December 2019 в 13:15
поделиться

Если вы спрашиваете, могу ли я отправлять сериализованные сущности из веб-службы во внешний мир? тогда ответ определенно отрицательный, если вы сделаете это, вы получите минимальную функциональную совместимость. DTO помогают решить эту проблему, определяя набор '

1
ответ дан 18 December 2019 в 13:15
поделиться

Я почти всегда создавал dtos для передачи по сети и использования объектов Richter на моем сервере и клиенте. На клиенте у них будет некоторая общая логика представления, а на сервере - бизнес-логика. Сопоставление между dtos и объектами может быть глупым, но это должно происходить. Вам помогут такие инструменты, как AutoMapper.

1
ответ дан 18 December 2019 в 13:15
поделиться

У меня всегда были проблемы с отправкой объектов nHibernate по сети. В частности, если вы используете модель ActiveRecord. и / или если ваш объект связан с сеансом (фу). Другой неприятный результат состоит в том, что nHibernate может попытаться загрузить объект при входе в метод (до того, как вы сможете к нему добраться), что также может вызвать проблемы.

Итак ... получение сообщения здесь? проблемы, проблемы проблемы ... DTO полностью

1
ответ дан 18 December 2019 в 13:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: