一、策略模式

1.1、概念

  1. 策略模式定义了算法家族,分别封装起来,让它们只见可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。

1.2、结构图

image.png

1.2.1、 Context

  1. Context是上下文,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用。

1.2.2、Strategy

  1. 策略类,用于定义所有支持算法的公共接口。

1.2.3、ConcreteStrategy

  1. 具体策略类,封装了具体的算法或行为,继承于Strategy