Это продолжение:
ServiceStack Request DTO design
В приведенном выше вопросе конструкция была строго связана с операциями чтения. Как насчет операций записи? Предположим, мы хотели добавить операции для создания нового лимита резервирования, будет ли целесообразным повторное использование существительного здесь?
[Route("/bookinglimits/","POST")]
public class CreateBookingLimit : IReturn<BookingLimit>
{
BookingLimit newBookingLimit
}
-OR- Будет ли это лучший дизайн?
[Route("/bookinglimits/","POST")]
public class CreateBookingLimit : IReturn<BookingLimit>
{
public int ShiftId { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int Limit { get; set; } }
}
Кроме того, если мы хотим добавить редактирование - должны ли мы вставлять и редактировать совместно использовать одни и те же модели и добавлять идентификатор?
[Route("/bookinglimits/","POST")]
[Route("/bookinglimits/{Id}/","PUT")]
public class CreateBookingLimit : IReturn<BookingLimit>
{
public int Id { get; set; }
public int ShiftId { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int Limit { get; set; } }
}
Я пытаюсь оборачивать голову, когда имеет смысл повторно использовать POCOs и когда имеет смысл разделить намерения.