我是ASP.NET MVC的新手,我試圖爲使用Web服務作爲其數據源的中小型應用程序實現最佳實踐。該Web服務公開下面的方法來支持應用程序:MVC存儲庫模式/ Web服務SoC問題
- AuthenticateCustomer - 如果有效的電子郵件/密碼
- GETCUSTOMER返回客戶ID - 返回一個包含客戶信息
- 等序列化對象
我的問題是,所有這些服務返回成功(布爾)和消息(字符串)值取決於操作的結果。如果發生錯誤,該消息包含描述性信息。我不確定Web服務的調用是否屬於Repository層,但我認爲能夠通過Repository - > Service - > Controller層傳遞Success和Message值是非常重要的。我能想到這樣做的唯一方法是要麼棄置垃圾的輸出變量的存儲庫的方法:
public int AuthenticateCustomer(string Email, string Password, out bool Success, out bool Message);
或建立某種形式的包裝,它包含了預期的返回值(整數),並且成功和消息值。但是,每個Web服務方法都會返回不同的值,因此一個通用包裝器將無法工作。另外,這些值需要通過服務層傳遞,並且似乎在存儲庫級別正在進行某種類型的驗證。
就如何完成任何想法: 1.分離的關注(驗證,通過Web服務的數據訪問),而... (二)具有保持從Web服務收到的反饋意見,並通過它通過所有的能力視圖的方式?
P.S. - 對於簡潔的問題抱歉。用任何簡短的方式解釋都有點困難。
Martin, 您的回答是有道理的。正如我想到的那樣,我的應用程序沒有「擁有」數據,也沒有責任將數據維護到持久性存儲(Web服務處理該數據),因此不需要顯式存儲庫。 感謝您的輸入。 – Ariel 2010-08-29 18:29:35