2010-03-17 102 views
1

我目前正在使用返回對象的Web服務,例如文件列表,例如文件陣列。使用返回對象的Web服務時的最佳實踐?

我想知道是否將其最佳實踐直接綁定到我的前端代碼(例如中繼器/列表視圖),還是首先將其解析爲我自己的「文件類」列表,例如customFiles[]

如果Web服務發生變化,它會破壞我的前端代碼,但是如果我創建自己的CustomFile類,那麼我只需要在一個地方更改我的代碼來解決問題,但它看起來像從Web服務中創建相同類的額外工作很多,我想知道這類工作的最佳實踐。

+0

爲此創建一個類非常簡單;它是數據傳輸對象(DTO),只是屬性,獲取者和設置者。 – 2010-03-17 11:59:32

回答

2

正確封裝實現細節時有一種微妙的平衡行爲。太少的封裝是維護的噩夢,因爲任何區域的小改變都會破壞應用程序。太多的圖層是完全不同的維護頭痛。

在這種特殊情況下,我會在應用程序中創建一個小圖層來封裝Web服務調用。這將減輕您在應用程序和服務中的維護,因爲它們會鬆散耦合。

1

這聽起來像你已經回答了你自己的問題。最佳做法是根據您指出的原因創建您自己的自定義類,但這是重要的額外工作。

如果web服務不太可能發生變化,那麼只需使用現有的類,但如果您需要迎合更改,則需要創建自己的類。

0

只要您的客戶知道如何反序列化它,就可以返回一個類。如果它確實是一個Web服務,而您無法控制對話的兩端,那麼以XML請求和響應流的模式開始更爲常見。它將客戶端從Web服務中分​​離出來,允許任何可以通過HTTP發送XML並使用XML響應公平遊戲的客戶端。