策略模式(Strategy Pattern)学习笔记
编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793
DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/145884039
🌟 模式定义
策略模式是一种行为型设计模式,定义一系列算法,将每个算法封装起来,并使它们可以互相替换。该模式让算法的变化独立于使用它的客户端。
🎯 适用场景
- 需要动态切换算法或策略的场景
- 消除大量条件判断语句(替代复杂的if-else/switch-case)
- 存在多种相似算法,仅在具体行为有差异时
- 需要隔离算法实现与使用逻辑时
✅ 核心优点
- 符合开闭原则(新增策略无需修改已有代码)
- 避免多重条件判断语句
- 算法可以自由切换和复用
- 实现类与客户端解耦
⚠️ 潜在缺点
- 策略类数量可能膨胀(可通过享元模式优化)
- 客户端需要了解所有策略的区别
- 增加对象数量(每个策略都是独立对象)