策略模式学习

使用场景

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

相关推荐
geovindu3 天前
java: Strategy Pattern
java·开发语言·后端·设计模式·策略模式·行为模式
geovindu4 天前
CSharp: Strategy Pattern
开发语言·后端·c#·.net·.netcore·策略模式·行为模式
沪上企服通5 天前
代账数据的可移植性设计:开放接口、账套导出与 exit strategy 工程笔记(上海 5 家样本对照)
笔记·策略模式
码匠许师傅6 天前
【设计模式精讲】26.策略模式(Strategy)
c++·设计模式·策略模式·uml
++==9 天前
基于策略模式的应用层协议支持
策略模式
Java后端的Ai之路9 天前
23、Python - 策略模式
linux·python·策略模式
程序员夏洛11 天前
什么是策略模式?一般用在什么场景?
策略模式
user_admin_god11 天前
数据采集/交换系统设计经验
spring boot·spring·策略模式
Nontee19 天前
Quartz 集群 + 策略模式:逾期预警推送系统设计实录
linux·服务器·策略模式
二炮手亮子20 天前
从 BIO、NIO、AIO 到多路复用与 Netty
策略模式·nio