Más ServiceStack solicitar asesoramiento DTO
Este es un seguimiento con respecto a:
Solicitud de ServiceStack diseño DTO
En la pregunta anterior, el diseño se refería estrictamente a las operaciones de lectura. ¿Qué pasa con las operaciones de escritura? Digamos que deseamos agregar operaciones para crear un nuevo límite de reserva, ¿sería apropiado reutilizar el nombre aquí?
[Route("/bookinglimits/","POST")]
public class CreateBookingLimit : IReturn<BookingLimit>
{
BookingLimit newBookingLimit
}
-O BIEN- ¿Sería este un mejor diseño?
[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; } }
}
Además, si quisiéramos agregar edición, ¿deberíamos insertar y editar compartir los mismos modelos y agregar la ID?
[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; } }
}
Estoy tratando de entender cuando tiene más sentido reutilizar POCO y cuando tiene más sentido separar las intenciones.