日期:2014-05-17  浏览次数:20664 次

求教大神,怎么动态的调用一个方法?内有需求说明!!!!!!
假如银行的接口里有个签约的方法,中行的叫DealZhonghang() , 建行的叫DealJianhang(),我现在是想写一个Deal()方法,开发人员调用的时候只需要传客户信息,这个方法自动判断掉用哪一家银行的接口。用判断可以实现,但是有没有什么比较好的方法?
怎么调用,这个地方要怎么设计呢?


再比如说查询数据库,有个Query方法,
我只需要传一个参数
Query(Sql,"MySql")
Query(Sql,"MSSql")
Query(Sql,"SQLite")
Query内部会判断是真正执行哪种数据库的query
怎么动态的去调用这个东西,并且扩展性好

假如有100个不同Query方法,query1 query2
总不能每个方法内部都做判断,这样如果有修改也不好改

回溯到我的问题上来就是,假如我们做了100家银行的接口,调用跟银行签约的方法的时候,写这个代码的人就需要判断到底要调用哪一家的,我想中间多封装一步
想避免到处switch case和if else
模式 设计模式 C# 扩展 路由

------解决方案--------------------
利用委托,将方法作为参数传递
------解决方案--------------------
帮顶,就不告诉西毒
------解决方案--------------------
本帖最后由 bdmh 于 2013-07-11 14:42:05 编辑
参考 适配器 模式设计
将不同的接口通过适配接口,对外形成统一的接口
------解决方案--------------------
这个明显就是委托
------解决方案--------------------
帮顶,帮顶,郭中我是来帮顶的,我就是来蹭点积分的。
------解决方案--------------------
个人观点,仅供参考!
若果仅仅是动态调用,可以将deal()定义成一个基类的虚函数,通过派生类来的多态来决定调用,只不过要分别定义中行和建行的派生类。