策略模式学习

使用场景

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

相关推荐
hai-chu21 小时前
将 Neo4j 安装为 macOS 服务
macos·策略模式·neo4j
6***x5453 天前
Java设计模式之策略模式
java·设计模式·策略模式
miss_you12133 天前
策略模式 + 模板方法 + 注册式工厂 统一设计方案(营销优惠场景示例)
设计模式·工厂方法模式·策略模式·模板方法模式
章鱼哥7303 天前
Java 策略模式 + 聚合对象:实现多模块的统计与聚合,快速扩展的实战
java·开发语言·策略模式
大佬,救命!!!4 天前
C++函数式策略模式代码练习
开发语言·c++·学习笔记·学习方法·策略模式·迭代加深·多文件编译
蒂法就是我5 天前
策略模式在spring哪里用到了?
java·spring·策略模式
敖云岚6 天前
【设计模式】简单易懂的行为型设计模式-策略模式
设计模式·策略模式
崎岖Qiu6 天前
状态模式与策略模式的快速区分与应用
笔记·设计模式·状态模式·策略模式·开闭原则
蓝桉~MLGT9 天前
Python学习历程——文件
python·学习·策略模式
ZHE|张恒11 天前
设计模式实战篇(二):业务逻辑“随时切换招式”——策略模式(Strategy Pattern)解析
设计模式·策略模式