分段和生产Web服务的设计模式

时间:2012-11-29 23:05:47

标签: c# design-patterns

我有两个网络服务,ServiceReferenceStagingServiceReferenceProduction。每个名为OperationsClient的Web服务中的类都有一个我需要使用的方法calculateCost

麻烦的是,此方法的签名需要特定于该Web服务的类型:

// staging
ServiceReferenceStaging.OperationsClient.calculateCost(
    ServiceReferenceStaging.TransactionHeaderType header,
    ServiceReferenceStaging.ExtLocationDetailsType fromAddress,
    ...

// production
ServiceReferenceProduction.OperationsClient.calculateCost(
    ServiceReferenceProduction.TransactionHeaderType header,
    ServiceReferenceProduction.ExtLocationDetailsType fromAddress,
    ...

显然,调用代码并不关心正在使用的Web服务 - 代码应该用于登台和生产,以及从config读取header值的各种映射方法,并将应用程序的地址映射到{{ 1}}应该适用于登台和生产Web服务。

对于调用代码,我可以将两个Web服务包装在接口的具体实现中。但是,对于每个具体实现,我能以一般方式将域对象映射到fromAddressheader吗?

0 个答案:

没有答案