策略模式1.定义和类型定义:定义算法族,分别封装,使它们可以相互转换,这种模式使得算法的改变不影响使用算法的用户if...else类型:behaviortype2。适用场景系统有很多种,它们的区别只是行为不同。系统需要动态地选择几种算法中的一种。3.优点开闭原则避免了使用多个条件传递语句,提高了算法的保密性和安全性Security4.缺点客户端必须知道所有的策略类,并决定使用哪个策略类来生成很多策略类.5.相关设计模式StrategyModeandFactoryModeStrategyModeandStateMode6.CodingStrategyModeProcessingFactoryMode创建策略接口PromotionpublicinterfacePromotionStrategy{voiddoPromotion();}创建一系列促销策略publicclassFanXianPromotionStrategyimplementsPromotionStrategy{@OverridepublicvoiddoPromotion(){System.out.println("返现促销,返还余额存入用户余额中!");}}publicclassLiJianPromotionStrategyimplementsPromotionStrategy{@OverridepublicvoiddoPromotion(){System.out.println("即时打折促销,课程价格直接从配置价格中扣除");}}publicclassManJianPromotionStrategyimplementsPromotionStrategy{@OverridepublicvoiddoPromotion(){System.out.println("满减促销:满200减20");}}创建促销活动:用于实现促销策略的类publicclassPromotionActivity{privatePromotionStrategystrategy;公共推广活动(PromotionStra策略){this.strategy=strategy;}publicvoidexecuteStrategy(){strategy.doPromotion();}}创建推广策略工厂/***@program:design_pattern*@description:推广策略工厂*@create:2021-10-1322:23**/publicclassPromotionStrategyFactory{/**私有构造函数*/privatePromotionStrategyFactory(){}privatestaticfinalMap
