我不太確定天氣DTO應該是POCO還是可以依靠任何技術。我在想,最好將它們作爲POCO來支持鬆耦合,並確保它可以與任何技術協同工作。ServiceStack堆棧是否真的建立在標準上?
從服務棧文檔中,提到:
的請求和響應DTO的使用 ServiceStack定義的Web服務標準POCO的同時實現只需要 從一個可測試和無依賴,IService繼承。 作爲將DTO保存在單獨的無依賴關係的.dll文件中的一項獎勵,您可以在C#/ .NET客戶端中重複使用它們,從而在不使用任何代碼的情況下提供 強類型API。永遠。此外,您的DTO的 定義一切服務棧不與任何其他自定義的文物或標記
污染你的Web服務 但是,如果你看到的實際執行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的最佳方式? – Brainchild 2013-05-01 13:45:24
複製DTO dll。 – mythz 2013-05-01 13:48:14
所以..我需要與所有客戶共享DTO DLL。 – Brainchild 2013-05-01 13:50:23