我正在尝试为Web服务考虑正确的设计。实质上,该服务将在多个不同系统中执行客户端搜索,并返回结果。使用可选部件返回复杂对象的Web服务
现在,客户可以附加各种信息 - 例如,各种联系信息,他们的地址,个人信息。这些信息中的一部分对于从某些系统中检索可能很复杂,所以如果消费者不打算使用它,我希望他们有某种方式向Web服务表明这一点。
一个显而易见的方法是针对不同的想要的细节组合有不同的方法 - 但随着组合的增长,方法的数量也会增加。我看过的另一种方法是在方法调用中添加两个字符串数组参数,其中一个数组是需要的项目列表(例如,我需要联系信息),另一个是可选项目(例如,如果您打算反正他们的名字,你可能还会回报给我)。
第三种方法是添加其他方法来检索细节。但是如果我需要所有可能的潜在数百个组成结果的客户的所有细节,那么这将会增加往返次数。
说实话,我不确定我喜欢上述任何方法。那么如何设计这样一个通用的客户端搜索服务呢?
(CW考虑,因为有可能不是一个单一的“正确”的答案,但我会等着看什么样的答案到达)