当前位置: 首页 > news >正文

电子商务网站建设培训课件动画设计专业哪个学校比较好

电子商务网站建设培训课件,动画设计专业哪个学校比较好,成都公司网站制作,学网站建设需要下载什么策略模式介绍 假设你正在开发一个电商平台#xff0c;其中涉及到商品的折扣策略。优惠策略有很多种可能#xff0c;如领取优惠券抵扣、返现促销、拼团优惠等。最初的实现可能会在购物车类中嵌入各种折扣逻辑#xff0c;导致代码的可维护性和扩展性下降。 下面代码在业务开…策略模式介绍 假设你正在开发一个电商平台其中涉及到商品的折扣策略。优惠策略有很多种可能如领取优惠券抵扣、返现促销、拼团优惠等。最初的实现可能会在购物车类中嵌入各种折扣逻辑导致代码的可维护性和扩展性下降。 下面代码在业务开发中经常遇到代码满足了业务需求客户可根据自己的需求选择不同的优惠策略。但是经过一段时间的业务积累促销活动会越来越多。于是程序员就开始经常加班每次上活动之前都要通宵改代码而且要做重复测试判断逻辑可能也会变得越来越复杂。此时我们要思考代码是否需要重构。 public static void main(String[] args) {PromotionActivity promotionActivity  null;String promotionKey  COUPON;if(StringUtils.equals(promotionKey,COUPON)){promotionActivity  new PromotionActivity(new CouponStrategy());}else if(StringUtils.equals(promotionKey,CASHBACK)){promotionActivity  new PromotionActivity(new CashbackStrategy());}//......promotionActivity.execute(); }下面我们看下策略模式如何优雅的解决这个问题。 策略模式是一种行为型设计模式它允许在运行时选择算法的一种方式使得算法可以独立于客户端代码进行变化。在业务代码中使用策略模式可以帮助你实现可维护、可扩展和可变化的代码结构。下面是在业务代码中使用策略模式的一般步骤 1. 定义策略接口 首先定义一个策略接口其中声明了策略的方法或行为。这些方法将在不同的具体策略类中实现。2. 创建具体策略类 创建实现策略接口的具体策略类每个类实现了策略接口中的方法。每个具体策略类代表了一个算法或行为的具体实现。3. 在客户端代码中使用策略 在客户端代码中通过持有策略接口类型的引用可以在运行时选择不同的策略实现。这样客户端代码可以根据需要切换或替换不同的策略。 业务代码中如何使用 现在后端项目基本都是基于 Spring Boot 开发的我们基于 Spring Boot 作为基础框架教你如何使用 Spring 依赖注入的特性优雅的实现策略模式。 既然是策略模式那么定义策略肯定是首当其冲策略我们使用枚举实现最佳 public enum StrategyType {STRATEGY_A(1, 策略A),STRATEGY_B(2, 策略B);private int code;private String desc;StrategyType(int code, String desc) {this.code  code;this.desc  desc;}public int getCode() {return code;}public String getDesc() {return desc;} } 再定义一个接口接口有两个方法getType用来获取策略的业务类型execute用来执行业务 public interface Strategy {void execute();StrategyType getType();} 这里我们实现个策略StrategyA Component(strategyA) public class StrategyA implements Strategy {Overridepublic void execute() {System.out.println(Executing strategy A);}Overridepublic StrategyType getType() {return StrategyType.STRATEGY_A;} } 再实现个策略StrategyB Component(strategyB) public class StrategyB implements Strategy {Overridepublic void execute() {System.out.println(Executing strategy B);}Overridepublic StrategyType getType() {return StrategyType.STRATEGY_B;}} 我们通过定义一个工厂类然后使用 Spring 的依赖注入特性可以注入一个接口的多个实现这里采用 ListStrategy 的形式注入Spring 也支持通过 MapString,Strategy 的形式注入如果使用 Map 注入那么 key 就是类名小伙伴们自己也可以测试一下~ 为方便调用我们需要将ListStrategy转换成MapStrategyType, Strategy结构业务执行时可以直接传递业务参数这里是我们定义的一个业务枚举StrategyType获取Bean。这里我们直接使用Spring的PostConstruct注解在方法上表示此方法是在Spring实例化该Bean之后马上执行此方法。 Service public class StrategyFactory {private MapStrategyType, Strategy strategyMap  new ConcurrentHashMap();Resourceprivate ListStrategy strategyList;public void execute(StrategyType type) {strategyMap.get(type).execute();}PostConstructpublic void init() {for (Strategy strategy : strategyList) {strategyMap.put(strategy.getType(), strategy);}} }最后我们在业务类StrategyService直接使用就行了。 Service public class StrategyService {Resourceprivate StrategyFactory strategyFactory;public void executeStrategy(StrategyType type) {strategyFactory.execute(type);} } 最终结构如下所示 总结 使用 Spring 的依赖注入特性可以注入一个接口的多个实现很容易就实现了策略模式的选择这样后续添加一种策略的时候完全不需要改动主要逻辑只需添加具体实现即可。虽然我们是讲策略模式其实里面还包含了工厂模式。
http://www.hkea.cn/news/14300594/

相关文章:

  • 网站优化排名工具哪些网站上推广比较好
  • 软件下载网站如何履行安全管理义务确保提供的软件做小程序和做网站哪个好
  • 做网站还有用吗外贸网站建设流程
  • 如何建设营销型的网站wordpress 上传中文文件名
  • 上国外网站的dns移动互联网营销的目标是( )
  • 淘宝网站小视频怎么做网站开发费税率是多少钱
  • 网站建设云服务企业网站建设套餐上海
  • 济南做网站哪家好怎么选网页设计与制作课程结构
  • 企业网站开发平台免备案的网站
  • 商品数据包网站开发天津站设计单位
  • 时代汇创网站建设公司cd-wordpress
  • 淘宝竞价排名网站排名优化首页
  • 网站怎么做现场直播视频公司网站运营方案策划
  • 东莞网站建设销售公司无广告的h5制作软件
  • 太仓营销型网站建设高端网站的建设
  • 网站域名重要吗寺庙招人做网站维护吗
  • 企业网站栏目规划的重要性培训学校如何做网站宣传
  • 做网站的空间要多大的网站建设排版规定
  • 西安网站建设动力无限建站之星做的网站如何导出
  • 直播网站开发秀色中国十大做网站公司
  • 做网站网页电商网站 支付宝接口
  • 个人做网站有什么坏处怎么做网页菜单
  • 网站模板论坛池州市建设管理处网站
  • 网站开发公司营业范围怎样通过网站注册公司
  • 网站建设管理工作情况报告定制网站和模板网站及仿站的区别
  • 网站页面自适应屏幕查大学专业网站
  • 宁津县建设局网站商标免费生成器
  • 企业如何进行搜索引擎优化seo基础理论
  • 自建站价格wordpress类似qq空间
  • 自学套模板做网站重庆潼南网站建设