策略模式在实际业务场景中的使用及优化 | 您所在的位置:网站首页 › 算法在项目中的应用 › 策略模式在实际业务场景中的使用及优化 |
策略模式在实际业务场景中的使用及优化
都说名字长不会被发现: 遗漏了,StrategyParam 中只是简单有一个属性 StrategyEnum,作用在于 StrategyContext 通过策略参数中的 StrategyEnum 从 strategyMap 中获取对应的策略类并执行。实际实践过程中,可以定义一个策略参数的父类,具体策略类参数继承该父类,而 StrategyEnum 则可以定义为父类中的属性。在子类创建时,可以通过构造方法、工厂模式、Builder 模式在创建时指定 StrategyEnum 为必须参数。 [code=java] /** * 执行策略上下文 * @param strategyParam 策略参数 * @return 业务处理返回封装实体 */ public BizResult invokeContext(StrategyParam strategyParam){ if (strategyParam == null){ throw new IllegalArgumentException("执行策略参数不能为空!"); } // 获取策略参数中枚举实例 StrategyEnum strategyEnum = strategyParam.getStrategyEnum(); // 通过枚举实例Get对应策略类 Strategy strategy = strategyMap.get(strategyEnum); // 执行策略方案 return strategy.invokeStrategy(strategyParam); } [/code] 策略模式在实际业务场景中的使用及优化Love 冰冰: StrategyParam 里面是啥勒? IDEA 部署Web项目能够访问到TomCat服务器但是无法访问项目内资源问题都说名字长不会被发现: 你的问题提供的信息太少,我没办法直接回答你解决方案。但是可以给你一个思路,这个问题首先你得理解如何通过 Tomcat web server 访问你所 build 的 war 或者 jar 包中的动态或静态资源的,然后你需要确认你所 build 的 war 或者 jar 是否包含你所要访问的资源,这就需要你对你的模块如何 build 有一个清晰的理解。如果你基于 Spring 技术栈进行开发,提供你一个可供阅读的项目 Swagger。最后提供给你一个排查你可能遇到的问题的思路,首先确认 Tomcat web server 是否能够被访问到,如果能够访问到,那么问题都处在访问资源的路径与实际访问链路不匹配,所以你需要更深入的理解 Tomcat web server 与 Spring Mvc(Struts2) 的资源访问流程,如果你理解了,我相信你的问题能够解决。 IDEA 部署Web项目能够访问到TomCat服务器但是无法访问项目内资源问题liaoyi11: 怎么访问模块里面的呢,比如我在新建了个web模块,我每次访问都访问到了项目里面的资源 Idea Mac 2019.2.1和2019.2.2版本敲代码卡顿问题都说名字长不会被发现: 不太清楚,可能是不同系统CPU执行策略不同 |
CopyRight 2018-2019 实验室设备网 版权所有 |