策略模式-大道至简

文章目录

摆个类图

本质

  1. 定义一个标准策略接口Strategy,这个接口中声明一个场景下应该使用的策略(执行的逻辑)。随后具体的执行器(具体的场景)应当实现这个接口,并实现自己的策略执行逻辑。
  2. 为了方便调用,一般会额外编写一个Context(可以理解成再次使用了一次工厂模式)对外隐藏具体策略的调用逻辑,而这里一般是维护一个Strategy集合,在参数进入时进行匹配(无论是维护List在每次进入时使用for进行匹配,还是Map进行get,本质都一样)
  3. 关于其场景与策略的映射关系的维护:通常会维护一个枚举,并在具体策略实现时进行配置,实现方式通常有如下两种
    1. 在Strategy接口中额外生命一个getStrategyType方法,用于对外暴露相应的策略枚举
    2. 首先使用一个抽象类AbstractStrategy,并维护一个strategyType属性,再在每个子类继承时进行重写
    3. (一般建议使用第一个方式,毕竟第二个方式不是强约束,有可能出现漏写而造成错误)
相关推荐
大侠锅锅1 天前
第 4 篇:策略模式实践——用统一接口管理 Docker 容器、原生进程与 K3s Pod
docker·容器·边缘计算·策略模式·iot
智慧城市20303 天前
183页PPT,麦肯锡战略屋品牌屋营销模型:打通战略、品牌与供应链的落地闭环
策略模式·战略咨询·流程管理
智慧城市20303 天前
556页集团供应链、营销案例,从断裂到贯通:构建生产供应链、财务成本与营销数字化的四步战略落地闭环
策略模式
意法半导体STM3221 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发
山东点狮信息科技有限公司21 天前
企业级 MES 制造执行系统架构设计与实践
spring cloud·性能优化·系统架构·策略模式·点狮
zzqssliu21 天前
基于策略模式与责任链的代购商品多源采集架构实战
架构·策略模式
mxpan22 天前
macOS 13+ 上使用 macFUSE + NTFS-3G 读写 NTFS 移动硬盘技术说明
macos·策略模式
折哥的程序人生 · 物流技术专研23 天前
Java 23 种设计模式:从踩坑到精通 | 番外:编排器+策略模式在多平台电子面单中的实战(含性能压测)
设计模式·策略模式·代码重构·java设计模式·编排器·电子面单·从踩坑到精通
忧云23 天前
2026年最新 Cursor 国内使用 DeepSeek API等各模型使用完整教程
ai编程·策略模式·cursor·byok·cursor使用国内大模型
AIex-YH23 天前
三域贯通11/12:生物制造的“死亡之谷“,CDMO 是桥还是船?
运维·制造·策略模式