策略模式学习

使用场景

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

相关推荐
Ronin3056 小时前
【Linux系统】日志与策略模式
linux·策略模式·日志
北执南念2 天前
基于 Spring 的策略模式框架,用于根据不同的类的标识获取对应的处理器实例
java·spring·策略模式
dyxal3 天前
使用tree命令导出文件夹/文件的目录树( Windows 和 macOS)
windows·macos·策略模式
酷炫码神3 天前
第 2 篇:Java 入门实战(JDK8 版)—— 编写第一个 Java 程序,理解基础运行逻辑
java·开发语言·策略模式
程序员TNT4 天前
Shoptnt 促销计算引擎详解:策略模式与责任链的完美融合
linux·windows·策略模式
new_daimond5 天前
设计模式-策略模式深度分析
设计模式·策略模式
织_网5 天前
Electron 核心模块速查表
javascript·electron·策略模式
至此流年莫相忘5 天前
设计模式:策略模式
设计模式·策略模式
特种加菲猫7 天前
并发编程的守护者:信号量与日志策略模式解析
linux·笔记·策略模式
xiaowu0807 天前
策略模式-不同的鸭子的案例
开发语言·c#·策略模式