【菠萝】策略模式

194 阅读1分钟

什么是策略模式

个人理解,策略模式是对代码中大量if-else的一种优化手段,本质是利用了java中的多态。优点,使代码可读性更高,层次更加分明。缺点,理解成本比较大。

实现策略模式的逻辑

首先需要一个顶层接口,定义需要实现的方法。其次需要根据业务需求定义不同的类来实现该接口,实现自己的方法,最后需要一个容器来承载该接口,通过构造方法的不同传参来实现方法的具体调用。

代码实现

image.png

简单定义个顶层接口,定义run方法

image.png

image.png

image.png

定义3个实现,各自定义自己的方法

image.png

定义一个context,传递carStratege接口

image.png

最终效果如上图,可以自行体会