날씨 DTO는 반드시 POCO이어야하며 모든 기술에 따라 달라질 수 있습니다. 생각 중입니다. 느슨한 결합을 지원하는 POCO로 유지하고 모든 기술과 함께 작동하는지 확인하는 것이 좋습니다. 서비스 스택 문서에서ServiceStack 스택은 실제로 표준을 기반으로 구축됩니까?
그것은 언급한다 :
요청 및 응답 DTO의 ServiceStack에서 웹 서비스를 정의하는 데 사용되는 구현은 단지 검증과 의존성이없는 IService에서 상속 을 필요로하면서 표준 POCO의은 . 에 DTO를 별도의 의존성이없는 .dll로 유지하는 보너스로 C++/.NET 클라이언트에서 다시 사용할 수 있습니다. 강력한 형식의 API를 코드없이 사용할 수 있습니다. what-so- 이제까지. 또한 귀하의 DTO의 정의 모든 서비스 스택은 추가 사용자 정의 유물 또는 마크 업
하여 웹 서비스 을 오염하지 않습니다하지만 당신은 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를 기술에 의존하게 만드는 이유는 무엇보다 DTO를 깨끗하게 유지하고 기술을 독립적으로 유지하는 것이 더 좋습니다.
내 이해가 완전히 잘못된 것일 수 있습니다.
클라이언트와의 DTO를 공유하는 가장 좋은 방법은 무엇입니까? – Brainchild
DTO dll 복사 중입니다. – mythz
그래서 .. 모든 클라이언트와 DTO DLL을 공유해야합니다. – Brainchild