首页新闻找找看学习计划

c#设计模式

0
悬赏园豆:50 [已解决问题] 解决于 2019-06-24 15:42

请教大师们个问题
现在做的这个项目需要跟各个银行对接一些交易
1、各行之间的接口都不同(参数,格式,通讯方式都不同)
2、如果某行的某个参数的格式变了,我们也要跟着变;建行增加了一个参数,我们也要做相应的处理.
怎么设计才能方便后续的维护或增加其他银行

小阿雄的主页 小阿雄 | 初学一级 | 园豆:108
提问于:2019-06-20 15:37
< >
分享
最佳答案
0

抽取里面自己业务的公共属性, 每个银行都有自己的provider,每个provider里面去实现和银行的对接业务。
比如:
公共服务:公共接口{(){
转账(账户a,账户b,钱,银行枚举,dic<object,object> 一些特殊参数){
bankProviderFactory.GetProvider(银行枚举).转账(账户a,账户b,钱,一些特殊参数)
}
}
招商银行:公共接口{
转账(账户a,账户b,dic<object,object> ){
//loading config
//wrapper request
//invoke
//wrapper respone
}
}

收获园豆:25
czd890 | 大侠五级 |园豆:7465 | 2019-06-21 18:39

用IOC控制,DIP容器实现,目前来看还可以,感谢大师分享

小阿雄 | 园豆:108 (初学一级) | 2019-06-24 15:40
其他回答(2)
0

对方接口变了只能跟着变,没办法,不过可以想办法把影响降到最低,推荐用适配器模式,这样对方接口改了不会触及原来写好的业务代码

收获园豆:25
会长 | 园豆:5332 (大侠五级) | 2019-06-20 15:46

用IOC控制,DIP容器实现,目前来看还可以,感谢大师分享

支持(0) 反对(0) 小阿雄 | 园豆:108 (初学一级) | 2019-06-24 15:39

@小阿雄: 赞

支持(0) 反对(0) 会长 | 园豆:5332 (大侠五级) | 2019-06-24 16:01
0

用ioc控制反转DIP容器存放信息,

小阿雄 | 园豆:108 (初学一级) | 2019-06-24 15:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册