策略模式学习

使用场景

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

相关推荐
R.lin19 小时前
Java支付对接策略模式详细设计
java·架构·策略模式
xiaoye37083 天前
23种设计模式之策略模式
设计模式·策略模式
冰糖拌面9 天前
CRLF行结束符问题
策略模式
原来是好奇心10 天前
告别if-else!使用策略模式优雅处理多种MQTT消息类型
java·mqtt·设计模式·策略模式·emqx
Mr_WangAndy10 天前
C++设计模式_行为型模式_策略模式Strategy
c++·设计模式·策略模式·依赖倒置原则
mjhcsp11 天前
C++ long long 类型深度解析:大整数处理的基石
开发语言·c++·策略模式·long long
太过平凡的小蚂蚁15 天前
策略模式:让算法选择像点菜一样简单
算法·策略模式
让我上个超影吧15 天前
设计模式【工厂模式和策略模式】
java·设计模式·策略模式
bkspiderx19 天前
C++设计模式之行为型模式:策略模式(Strategy)
c++·设计模式·策略模式
_Yoke21 天前
Java 枚举多态在系统中的实战演进:从枚举策略到自动注册
java·springboot·策略模式