跳转至

设计模式-策略模式

定义

定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。

适用场景

  • 系统有很多类,而他们的区别仅仅在于他们的行为不同。
  • 一个系统需要动态的在几种算法中选择一个。

UML

总结

  • 优点

  • 符合开闭原则。

  • 避免使用多重条件转移语句。
  • 提高算法的保密性和安全性。

  • 缺点

  • 客户端必须知道所有的策略类,并自行决定使用哪一种策略类。

  • 产生很多策略类。