设计模式(20)-策略模式

策略模式介绍

针对一组算法,并且各自的实现在各自的公共类中,可以相互替换。

策略模式优点

  1. 便于扩展,每个算法只需增加自己的策略类即可。
  2. 策略类之间可以互相替换。

策略模式缺点

  1. 如果策略过多的话,会产生很多策略类。
  2. 客户端调用的时候,必须知道所有的策略类。

场景

例如:一个数组的排序实现,可以通过冒泡排序,也可以通过快速排序。

  1. 首先抽象排序接口,定义公共方法。

  2. 分别实现接口,实现冒牌排序和快速排序。

  3. 定义环境角色,调用策略。

  4. 客户端调用及结果。

GitHub源码地址:https://github.com/woniuSnail/DesignPattern.git

原文地址:https://www.cnblogs.com/snailZz/p/13555271.html