问题描述
现封装了这么一个与银行通信接口统一提供给其他系统调用在该接口里有这么些方法:支付、充值、签约、账单查询等目前的设计是通过反射来实现的即将不同银行的具体通信类的类名、方法名、等写在配置文件如 ICBC_PAY_CLASS_NAME = ****ICBC_PAY_METHOD_NAME = **** 然后在该接口实现类中来动态调用 但是这样封装 有一点不方便的是如 支付方法工行只需5个参数 而建行却需要8个参数那么我这个接口的参数 肯定得以建行为准了或者某一个银行多出一个方法 如获取动态验证码而别的银行却不需要则我这个接口也得包含该特例方法 问题补充:maowei009 写道
解决方案
你想想看到底层除了if。。else。。还有switch能实现这种分支结构,其他也没啥关键字了,底层确实有,但是你可以添加你要的实现,而策略模式的这种扩展性才是你需要的么,同时也帮你解决了问题啊,你可以在需要的时候添加一个策略而不需要修改原来代码啊!
解决方案二:
建议去看一下策略模式,对你应该会有帮助的
时间: 2024-09-17 01:45:47