0%

Strategy

1. 意图

策略模式定义了算法族, 分别分装起来, 让他们之间可以相互替换.
此模式让算法的变化独立于可用算法的客户.

2. 适用场景

  • 系统需要动态的选择几种算法中的一种
  • 系统中有许多类, 数据结构相似, 主要区别在于它们的行为
  • 冗长的条件语句,难以维护

3. 实现

3.1. 参与者

3.2. 结构

3.3. 特点

  • 算法可以自由切换, 且扩展性良好
  • 可以对冗长的条件判断进行优化
  • 可能出现策略类过多的问题

3.4. 开发规范