策略模式
1、简介 策略模式可以在运行时动态切换类的运行算法策略,将变化的算法策略封装,降低了代码耦合度,只需要根据不同情况更换不同策略即可。 例如:今天是2020-12-24平安夜,今晚去见女票,可以选择送花,也可以选择送苹果,平安夜就是算法使用环境,送花和送苹果就是不同的算法策略。 2、创建算法使用环境 public class ChristmasContext { private ChristmasStrategy christmasStrategy; public ChristmasContext(ChristmasStrategy christmasStrategy){ this.christmasStrategy = christmasStrategy; } public void gift(){ christmasStrategy.gift(); } } 3、创建抽象策略 public interface ChristmasStrategy { public void gift(); } 4、创建具体的策略 public class FlowerStrategy impleme....