Я не очень уверен, что DTO должны быть POCOs, или это может зависеть от любой технологии. Я думаю: лучше держать их как POCOs для поддержки Loose-сцепления и следить за тем, чтобы он работал с любой технологией.Действительно ли стек ServiceStack основывается на стандартах?
Из документации стеки услуг Упоминаются:
Запрос и ответ DTO используется для определения веб-служб в ServiceStack являются стандартными ПОК в то время как реализация просто нужно наследовать от проверяемой и зависимостей свободной IService , В качестве бонуса для хранения DTO в отдельной бесплатной .dll, вы можете повторно использовать их в своих клиентах C# /. NET, предоставляя строго типизированный API без каких-либо кодов, Когда-либо. Кроме вашего DTO в определить все Service Stack не загрязняет свои веб-сервисы с любыми дополнительными пользовательскими артефактами или разметкой
Но если вы видите фактическую реализацию DTO, имеет зависимость от стека службы.
[Route("/todos")]
[Route("/todos/{Ids}")]
public class Todos : IReturn<List<Todo>>
{
public long[] Ids { get; set; }
public Todos(params long[] ids)
{
this.Ids = ids;
}
}
[Route("/todos", "POST")]
[Route("/todos/{Id}", "PUT")]
public class Todo : IReturn<Todo>
{
public long Id { get; set; }
public string Content { get; set; }
public int Order { get; set; }
public bool Done { get; set; }
}
Я полностью смущен тем, что упомянуто в документации и что фактически реализовано. Почему нам нужно, чтобы DTO зависел от технологий, Лучше держать их в чистоте и независимой от технологии.
Мое понимание может быть совершенно неправильным.
Каков наилучший способ обмена DTOs с клиентом? – Brainchild
Копирование Dll dll. – mythz
Итак, мне нужно разделить DTO DLL со всеми клиентами. – Brainchild