我正在嘗試爲Web服務考慮正確的設計。實質上,該服務將在多個不同系統中執行客戶端搜索,並返回結果。使用可選部件返回複雜對象的Web服務
現在,客戶可以附加各種信息 - 例如,各種聯繫信息,他們的地址,個人信息。這些信息中的一部分對於從某些系統中檢索可能很複雜,所以如果消費者不打算使用它,我希望他們有某種方式向Web服務表明這一點。
一個顯而易見的方法是針對不同的想要的細節組合有不同的方法 - 但隨着組合的增長,方法的數量也會增加。我看過的另一種方法是在方法調用中添加兩個字符串數組參數,其中一個數組是需要的項目列表(例如,我需要聯繫信息),另一個是可選項目(例如,如果您打算反正他們的名字,你可能還會回報給我)。
第三種方法是添加其他方法來檢索細節。但是如果我需要所有可能的潛在數百個組成結果的客戶的所有細節,那麼這將會增加往返次數。
說實話,我不確定我喜歡上述任何方法。那麼如何設計這樣一個通用的客戶端搜索服務呢?
(CW考慮,因爲有可能不是一個單一的「正確」的答案,但我會等着看什麼樣的答案到達)