策略模式学习

使用场景

一个方法有很多的实现方式,并且需要使用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

相关推荐
资源大全免费分享10 分钟前
MacOS 的 AI Agent 新星,本地沙盒驱动,解锁 macOS 操作新体验!
人工智能·macos·策略模式
〆、风神2 天前
策略模式与元数据映射模式融合 JSR 380 验证规范实现枚举范围校验
windows·spring·策略模式
码界孔乙己5 天前
python策略模式
python·策略模式
此木|西贝5 天前
【设计模式】策略模式
设计模式·策略模式
患得患失9497 天前
【设计模式】策略模式(Strategy Pattern)详解
设计模式·bash·策略模式
一恍过去8 天前
SpringBoot通过Map实现天然的策略模式
spring boot·后端·策略模式
Vic101018 天前
Java 中装饰者模式与策略模式在埋点系统中的应用
java·开发语言·策略模式
獨枭8 天前
在 macOS 上配置 VS Code 使用 PowerShell(适配 Homebrew 安装)
macos·策略模式
cijiancao9 天前
23种设计模式中的策略模式
设计模式·策略模式
罗帅·迪克劳纳9 天前
SpringBoot+策略模式+枚举类,优雅消除if-else
java·spring boot·后端·策略模式