设计模式-状态模式
状态模式的使用
代码中包含大量与对象状态有关的条件语句。
方法
将各种具体的状态类抽象出来。优点
- 结构清晰,避免了过多的switch…case或if…else语句的使用。
- 很好的体现了开闭原则和单一职责原则,想要增加状态就增加子类,想要修改状态就修改子类即可。
- 封装性非常好,状态变化放置到了类的内部来实现,外部调用不需要知道类内部如何实现状态和行为的变换。
缺点
子类会太多,也即类膨胀。使用场景
- 行为随状态改变而改变的场景。
- 条件、分支判断语句的替代者。
应用实例
- 电梯,有运行状态、开门状态、闭门状态、停止状态等。
- 一日从早到晚自身的状态,比如工作状态、学习状态等。
- 运动员可以有正常状态、非正常状态和超长状态。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下