现在有个项目,要对接多个运营商获取用户sim卡的信息,但是每个运营商的处理逻辑都是不一样的,但是对掉用我这个接口的人而言 这就是一个接口,请问下这种情况如何处理.
先说下我的方法,我定义了一个接口 然后各个运营商的实现类重写这个接口的方法,然后定义了一个map,在项目初始化的时候,把运营商的类 以运营商的标识为key,实现的类为value 存进去,然后根据不同的运营商标识来获取 具体是哪个实现类.请问这如何优化?
现在有个项目,要对接多个运营商获取用户sim卡的信息,但是每个运营商的处理逻辑都是不一样的,但是对掉用我这个接口的人而言 这就是一个接口,请问下这种情况如何处理.
先说下我的方法,我定义了一个接口 然后各个运营商的实现类重写这个接口的方法,然后定义了一个map,在项目初始化的时候,把运营商的类 以运营商的标识为key,实现的类为value 存进去,然后根据不同的运营商标识来获取 具体是哪个实现类.请问这如何优化?
已经够优秀了,不需要优化了
不要觉得查表法很low,实际上很有效
逻辑上没有优化的点了,所以你觉得有问题是你代码上有缺陷?
费大幅度
核心思路也就这样吧,觉得low就去套一下设计模式,运营商实现类实现单例模式,如果各个类的实现逻辑差不多就加个模板模式,再做个工厂……如果你想搞得更复杂,可以把运营商实现类做成热加载,参考SPI或一些插件框架,这样系统在运行过程中也可以加入新的运营商而不需要停机,不过有必要吗?
这不就是适配器模式吗。见人说人话见鬼说鬼话