所谓适配,也就是要看服务提供者如何设计实现,如何暴漏接口。
现有服务端提供收单、校验、支付等服务环节,客户端业务横向扩展的强度比较大,且有诸多共性存在,考虑到职责分离、调用的统一性,所以将业务分类做数据配置,根据配置执行不同的解析类,如下:
§ 实现类图
§ 业务分类配置
<BizCodes>
<BizCode Name="NewBankPay" Code="10" OrderType="01" PayChannel="04" PayMethod="60" CreditRule="1" Desc="银行卡"></BizCode>
<BizCode Name="NewCardPay" Code="12" OrderType="01" PayChannel="03" PayMethod="20" Desc="卡支付"></BizCode>
<BizCode Name="CreditCardPay" Code="17" OrderType="01" PayChannel="20" PayMethod="60" CreditRule="1" Desc="信用卡支付"></BizCode>
</BizCodes>
§ 代码实现
http://download.csdn.net/download/webwalker/7470377
§ 补充
很多时候,同样需要对远程实体模型做包装,通过以下方式,可以讲外部模型的封装在有限的范围内完成。
public abstract class OriginalObject<T>
where T : class
{
public virtual T OriginalInfo
{
get;
internal set;
}
}
public class DistrictInfo:OriginalObject<districtOO>
{
public long DistrictID
{
get
{
return this.OriginalInfo.districtId;
}
}
public long ParentDistrictID
{
get
{
return this.OriginalInfo.parentDistrictId;
}
}
}