前言:之前在工作过程中遇到一个接口拥有多套实现,一直想总结探索。。。
使用场景
对外提供一个接口,内部往往会拥有多套实现,如:对外提供一个活动查询优惠信息接口,对于不同的活动类型可能会使用不同方式进行处理,如果使用简单的if-else通过活动类型来实现,代码显得太low啦。
目录结构
工具类实现
/**
* @program: dome
* @description: 根据类型获得具体实现
* @author: yxiumei
* @create: 2019-06-05 19:09
**/
@Component
public class TypeRouteUtil implements InitializingBean, ApplicationContextAware {
// 业务处理前缀
private static final String BUSINESS = "business";
private static Map<String, BusinessService> differentServiceMap = null;
private ApplicationContext applicationContext = null;
@Override
public void afterPropertiesSet() throws Exception {
if (null != applica