首先,如果這個問題以前曾被問過,但是我找不到直接回答這個問題的道歉。WCF服務契約設計。用例控制器是否合適?
這是我的問題。我已經繼承了一個產品,它被設計得非常靈活,以至於在(silverlight)表單上填充幾乎每個組合框和文本塊都需要一個服務請求。某些屏幕只需要15個獨立的請求就可以填充!
現在我已經多次與WCF Web服務合作過,並且將服務合約拆分成小的離散操作從來沒有太多過關,..可悲的是,這個項目並非如此。所以它讓我想知道...
還有沒有計劃在我們自己的圍牆之外暴露服務。有沒有計劃爲此特定服務編寫另一個客戶端。所以我不能在服務端寫一個'用例控制器'嗎?所以,在 '創建投訴' 屏幕,而不是像請求列表...
- GetComplaintTypes
- GetCustomerTypes
- GetAreaDetails
- 等等...
填充表單我只需要一個名爲'GetCreateComplaintData'的單一操作合同。當只有一個客戶端需要將所有這些請求聚合並同步化爲有意義的東西時,如此衆多的操作暴露在這樣的粒度中似乎很瘋狂。爲什麼不公開一些有意義的東西呢?
更重要的是,如果您不打算將服務API暴露給第三方,那麼這是否比在數據庫中暴露CRUD操作符更好?
感謝所有幫助和意見。 在此先感謝。
:-)。我正在通過一大堆代碼做這件事。這就像跑在泥裏! – Stimul8d 2010-08-31 12:22:51
標記爲有用的鏈接正確。 – Stimul8d 2010-08-31 13:54:50
你應該看看http://code.google.com/p/agatha-rrsl這是一個基於Davy Brion的原創想法開發的開源項目。 – 2010-09-01 00:47:49