小工具知识网

当前位置: 首页 > 行业知识 > 设计模式:策略模式 ⑥

行业知识

设计模式:策略模式 ⑥

2026-11-06 10:13:26 来源:互联网转载

一、策略模式思想

���介

策略模式(Strategy Pattern)属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。

其主要目的是通过定义相似的算法,替换if else 语句写法,并且可以随时相互替换。

策略模式主要由这三个角色组成,环境角色(Context)、抽象策略角色(Strategy)和具体策略角色(ConcreteStrategy)。

  • 环境角色(Context):持有一个策略类的引用,提供给客户端使用。
  • 抽象策略角色(Strategy):这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。
  • 具体策略角色(ConcreteStrategy):包装了相关的算法或行为。

    示例图如下:

    class  CalculatorContext {private CalculateStrategy strategy;public CalculatorContext(CalculateStrategy strategy) {this.strategy = strategy;}public int executeStrategy(int num1, int num2) {return strategy.doOperation(num1, num2);}}

     

上一篇:宝塔面板数据清除全攻略,一键操作,轻松实现数据清零!

下一篇:微信里怎么入驻商家?