java23种设计模式-状态模式

状态模式(State 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 10:50  千里码!  阅读(56)  评论(0)    收藏  举报  来源