项目中通常用到if判断,但有时候为了扩展的需要,不想过多的写if,else语句,这时候首先想到的就是使用策略模式。
策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。
Context: 环境类
Strategy: 抽象策略类
ConcreteStrategy: 具体策略类
时序图:
通过图可以看到有一个接口,不同的情况下使用不同的实现类的计算逻辑。
项目中通常根据不同的事件,类型,走不同的业务逻辑。
那么在spring boot中怎么使用呢。举个简单的例子:
1.定义接口
2.编写实现类,子类的代码基本都是根据自己的业务做好实现就行,大致的代码如下:
3.编写Myconfig.java,做好类型和子类的对应关系
4.使用的时候在类中引入,然后根据类型开始调用
5.根据类型查找对应的实现类,减少if语句,同时也方便扩展新的类型,减少了代码耦合
---------------------------
如果对您有帮助,记得双击么么哒!
--------------------------