java23种设计模式-策略模式

策略模式(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)
  • 存在多种相似算法,仅在具体行为有差异时
  • 需要隔离算法实现与使用逻辑时

✅ 核心优点

  • 符合开闭原则(新增策略无需修改已有代码)
  • 避免多重条件判断语句
  • 算法可以自由切换和复用
  • 实现类与客户端解耦

⚠️ 潜在缺点

  • 策略类数量可能膨胀(可通过享元模式优化)
  • 客户端需要了解所有策略的区别
  • 增加对象数量(每个策略都是独立对象)

📐 模式结构

posted on 2025-02-27 11:18  千里码!  阅读(34)  评论(0)    收藏  举报  来源