策略模式-设计模式

  • 定义:

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

  • 类型:

行为型

  • 适用场景:

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

  • 优点:

1,开闭原则
2,避免使用多重条件转移语句
3,提高算法的保密性和安全性

  • 缺点:

1,客户端必须知道所有的策略类,并自行决定使用哪一个策略类(点外卖的情况)
2,产生很多策略类

  • 相关设计模式

1,策略模式+工厂模式
2,策略模式+状态模式

  • UML
    策略模式-设计模式_第1张图片

你可能感兴趣的:(设计模式)