当前位置: 首页 > news >正文

状态模式 (State Pattern)

状态模式(State Pattern)是一种行为型设计模式,它允许对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。该模式将状态封装成独立的类,并将请求委托给当前的状态对象,当对象的内部状态发生变化时,其行为也会随之改变。

一、基础部分

1. 意图

允许一个对象在其内部状态改变时改变它的行为,使对象看起来似乎修改了它的类。

2. 场景

典型应用

  • 对象的行为取决于它的状态,并且必须在运行时根据状态改变行为
  • 操作中含有大量与对象状态相关的条件语句
  • 需要实现状态转换逻辑

具体案例

  • 电梯控制系统(停止、运行、故障等状态)
  • 订单状态流转(待支付、已支付、已发货等)
  • 游戏角色状态(正常、中毒、眩晕等)
  • 工作流引擎状态管理

3. 模式结构

  • 上下文(Context)定义客户端感兴趣的接口,维护一个具体状态类的实例,这个实例定义了当前的状态。

  • 抽象状态(State)定义一个接口以封装与上下文的一个特定状态相关的行为。

相关文章:

  • 已有 npm 项目,如何下载依赖、编译并运行项目
  • STM32 RTC配置
  • JQ6500语音模块详解(STM32)
  • Android 热点开发调试总结
  • locust压力测试
  • LeetCode热题100--560.和为K的子数组(前缀和)--中等
  • ubuntu安装docker,conda,tmux,btop,nvitop
  • ai环境cuda cudnn conda torch整体迁移 wsl docker
  • vue的生命周期 以及钩子
  • 第二章:Agent System
  • 【亚马逊云】AWS Wavelength 从理论讲解到实验演练
  • AWS PrivateLink vs Lattice:深度解析两大网络服务的异同
  • python_股票月数据趋势判断
  • [leetcode]2302.统计得分小于k的子数组
  • java 使用 POI 为 word 文档自动生成书签
  • 学生管理系统审计
  • 【Java ee初阶】多线程(4)
  • 第十一节:性能优化高频题-响应式数据深度监听问题
  • 大模型(LLMs)强化学习—— PPO
  • Android wifi开发调试总结
  • 商务部:一季度我国服务贸易较快增长,进出口总额同比增8.7%
  • 长三角铁路“五一”假期运输今启动:预计发送旅客量增6%,5月1日当天有望创新高
  • 伊朗港口爆炸死亡人数升至70人
  • 海南儋州市委副书记任延新已赴市人大常委会履新
  • 5月动漫|“爱死机”即将回归,《明末》或是下一个大IP?
  • 俄罗斯称已收复库尔斯克州,普京发表讲话