策略模式学习

使用场景

一个方法有很多的实现方式,并且需要使用if else等分支逻辑选择使用哪种实现方式

术语

环境

维护策略对象的引用,负责将请求委派给具体的策略对象执行。环境类可以通过依赖注入、简单工厂等方式获取具体策略对象

抽象策略

定义了策略类的公共接口,具体策略类必须实现公共接口

具体策略

实现了抽象策略定义的接口,包含具体的算法实现

使用限制

策略模式并不决定何时使用何种算法,算法的选择由客户端决定,客户端需要知道有哪些具体策略类,以便选择最合适的算法

参考

https://zhuanlan.zhihu.com/p/64584526

https://www.runoob.com/design-pattern/strategy-pattern.html

https://www.liaoxuefeng.com/wiki/1252599548343744/1281319606681634

https://design-patterns.readthedocs.io/zh-cn/latest/behavioral_patterns/strategy.html

相关推荐
头发还在的女程序员6 天前
【免费下载】企业能源管理系统
小程序·策略模式·能源管理
前端 贾公子6 天前
React 和 Vue 都离不开的表单验证库 async-validator 之策略模式的应用 (上)
vue.js·react.js·策略模式
小米4967 天前
Js设计模式---策略模式
设计模式·策略模式
geovindu7 天前
python: Strategy Pattern
python·设计模式·策略模式
Hello.Reader10 天前
Flink 任务失败恢复机制Restart Strategy 和 Failover Strategy 怎么配才“又稳又不炸”
大数据·flink·策略模式
武帝为此12 天前
【Linux strace命令介绍】
linux·运维·策略模式
带娃的IT创业者13 天前
解密OpenClaw系列10-OpenClawSparkle框架集成
软件工程·agent·策略模式·自动更新·ai智能体·智能体开发·openclaw
茶本无香14 天前
【无标题】
java·设计模式·策略模式
驴儿响叮当201016 天前
设计模式之策略模式
设计模式·策略模式
kong790692817 天前
设计模式-策略模式
设计模式·策略模式·行为设计模式