策略模式

前言

熟悉设计模式,并在适当的地方合理利用

策略模式

概念:

首先策略模式是属于行为型模式。
策略模式是定义了一系列算法,将每个算法封装起来,是他们可以相互替换。需要设计一个接口,为实现这一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类,提供辅助函数。

本质:

策略模式的本质就是面向对象的继承和多态。为了完成一项任务,往往有不同的方式,每一种方式称为一种策略,我们可以根据环境和条件不同来选择不同的策略来完成该项任务。

策略模式的特点

  • 平等性。

    他所有的算法都是平级的,这样才能相互替换。

  • 互斥性

    策略模式每一时刻只能使用一个具体的策略实现对象

适用的场景:

  • 几个类的主要逻辑相同,只在部分逻辑的算法和行为上稍有区别的情况。
  • 有几种相似的行为,或者说算法,客户端需要动态地决定使用哪一种,那么可以使用策略模式,将这些算法封装起来供客户端调用。

    总结:

    策略模式的决定权在用户,系统本身提供不同的算法实现,新增或者删除算法,对各种算法做封装,因此,策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法。

-------------本文结束感谢您的阅读-------------