- 定义
通过选择策略类,来执行不同算法分支。核心是通过注入对象,改变行为。此模式其实就是spring IOC思想。
- 优点
1. 算法可以自由的切换。
2. 避免使用多重条件判断。
3.便于扩展:增加一个策略只需要添加一个接口即可。
- 缺点
1.复用性不高,每一个策略都是一个类,策略多时类也会增多。
2. 所有的策略类都需要对外暴漏,增加了用户的使用成本。
- 使用场景
1. 多个类只有算法或者行为上稍有不同。
2. 需要多个算法自由切换。
通过选择策略类,来执行不同算法分支。核心是通过注入对象,改变行为。此模式其实就是spring IOC思想。
1. 算法可以自由的切换。
2. 避免使用多重条件判断。
3.便于扩展:增加一个策略只需要添加一个接口即可。
1.复用性不高,每一个策略都是一个类,策略多时类也会增多。
2. 所有的策略类都需要对外暴漏,增加了用户的使用成本。
1. 多个类只有算法或者行为上稍有不同。
2. 需要多个算法自由切换。