策略模式学习

使用场景

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

相关推荐
gjh120816 小时前
设计模式:工厂方法模式和策略模式
设计模式·工厂方法模式·策略模式
liang899919 小时前
设计模式之策略模式(Strategy)
设计模式·策略模式
修道-032320 小时前
【JAVA】二、设计模式之策略模式
java·设计模式·策略模式
Jack黄从零学c++2 天前
设计模式——策略模式(c++)
c++·设计模式·策略模式
南城花随雪。3 天前
Spring框架之策略模式 (Strategy Pattern)
java·spring·策略模式
Fre丸子_3 天前
设计者模式之策略模式
c++·策略模式
超越不平凡3 天前
Spring Plugin与策略模式:打造动态可扩展的应用
spring·策略模式·spring plugin
G皮T4 天前
【设计模式】行为型模式(二):策略模式、命令模式
java·设计模式·策略模式·命令模式·command·strategy
7年老菜鸡6 天前
策略模式(C++)三分钟读懂
c++·qt·策略模式
也无晴也无风雨7 天前
代码中的设计模式-策略模式
设计模式·bash·策略模式