1、什么是策略模式:
策略模式是对算法的包裹,把算法的责任和本身分开,委派给不同的对象管理,最终可解决多重if判断问题。

2、应用场景
传统代码中存在多重if判断语句,类此代码过于冗余,客观性和扩展性极弱。使用策略模式可以通过DB或者枚举类进行维护各具体行为的关系,也可做成可视化管理平台,管理各行为接口的权限和动态扩展。

3、底层实现原理:
将共同的行为抽取出来作为一个共同算法行为标准(接口),每个单独的策略行为继承父接口。
设计模式专题记录之策略模式

4、实现步骤

  1. 首先定义抽象策略角色(Strategy),此角色为所有具体策略的算法父接口。
    设计模式专题记录之策略模式

  2. 定义各具体子类的算法,并实现父类接口,并交给spring容器进行管理。
    设计模式专题记录之策略模式

  3. Context环境角色持有一个Strategy的引用,维护所有具体子类的算法行为。在此类中使用了spring的基础知识,通过beanid去spring容器获取bean对象(参考步骤2,使用component注入到spring容器中),然后通过子类实现父类并重写父类中的方法。
    设计模式专题记录之策略模式

  4. 定义接口入口的rest类。
    设计模式专题记录之策略模式

5. 策略模式优缺点:
优:解决多重if判断,提高扩展性、维护性增强、提高可读性
缺:后期维护不同策略类多,定义类

相关文章:

  • 2021-06-27
  • 2021-12-28
猜你喜欢
  • 2022-12-23
  • 2021-10-19
  • 2022-01-11
  • 2021-10-03
  • 2021-04-12
相关资源
相似解决方案