本文主要是介绍工厂策略模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
工厂模式用于干掉大量的if-else
,策略模式用于挪去臃肿的业务代码,还可以进一步升级加上模板模式,以及抽取成Starter
public interface HandlerStrategy extends InitializingBean {void findSyncOrders();
}
public class SalesPlatformFactory {private static final Map<String, HandlerStrategy> STRATEGY_MAP = new ConcurrentHashMap<>();public static HandlerStrategy getInvokeStrategy(String code) {return STRATEGY_MAP.get(code);}public static void register(SalesPlatFormEnum salesPlatFormEnum, HandlerStrategy handlerStrategy) {if (salesPlatFormEnum == null || handlerStrategy == null) {return;}STRATEGY_MAP.put(salesPlatFormEnum.getCode(), handlerStrategy);}
}
public class OttoHandler implements HandlerStrategy {@Overridepublic void findSyncOrders() {}@Overridepublic void afterPropertiesSet() throws Exception {SalesPlatformFactory.register(SalesPlatFormEnum.OTTO, this);}
}
这篇关于工厂策略模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!