[其它交流] java23种设计模式-策略模式

467 0
Honkers 2025-3-3 13:32:24 来自手机 | 显示全部楼层 |阅读模式

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

✅ 核心优点

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

⚠️ 潜在缺点

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

模式结构

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3280
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行