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

玩转状态模式

文章目录

  • 什么是状态模式
  • 举例:
  • 状态模式结构
  • 状态模式应用场景
  • 状态模式实现方式
  • 状态模式优缺点
    • 优点:
    • 缺点:
    • 1.引入库


什么是状态模式

状态模式与有限状态机的概念紧密相关。
在这里插入图片描述
其主要思想是程序在任意时刻仅可处于几种有限的状态中。在任何一个特定状态中,程序的行为都不相同,且可瞬间从一个状态切换到另一个状态。不过,根据当前状态,程序可能会切换到另外一种状态,也可能会保持当前状态不变。这些数量有限且预先定义的状态切换规则被称为转移。

你还可将该方法应用在对象上。假如你有一个文档Document类。文档可能会处于草稿Draft、​审阅中Moderation和已发布Published三种状态中的一种。文档的publish发布方法在不同状态下的行为略有不同:
1.处于 草稿状态时, 它会将文档转移到审阅中状态。
2.处于 审阅中状态时, 如果当前用户是管理员, 它会公开发布文档。
3.处于 已发布状态时, 它不会进行任何操作。
在这里插入图片描述
状态机通常由众多条件运算符(if或switch)实现,可根据对象的当前状态选择相应的行为。​“状态”


http://www.kler.cn/a/543085.html

相关文章:

  • mongoTemplate获取某列最大值
  • 详解 JavaScript 中 fetch 方法
  • Java知识速记:ArrayList 和 Array
  • 使用mermaid画流程图
  • JVM-Java虚拟机
  • 51单片机(国信长天)矩阵键盘的基本操作
  • Linux下的进程切换与调度
  • Spark商品销售数据可视化分析系统 机器学习预测算法 讲解视频 论文 大数据毕业设计 Hadoop和Hive 销量预测✅
  • 【github】docker realtime
  • 探索RDMA技术:从基础到实践
  • 【Qt】定期清理程序
  • AI写代码工具赋能前端工程师,加速职业晋升
  • 二叉树详解
  • 对前端的技术进行分层
  • 关于FC设备Map 系统的一些需求思考
  • OpenBayes 教程上新 | 告别服务器繁忙,DeepSeek 一键部署教程上线!
  • 解锁电商数据宝藏:淘宝商品详情API实战指南
  • 微信小程序的制作
  • 学习docker!!!
  • Qt手撸控件不显示问题
  • kafka动态监听主题
  • Conda 虚拟环境与 venv、virtualenv、pipenv 的对比
  • 基于 DeepSeek 的创新点及其在学术研究与论文发表中的应用
  • uniapp国际化不立即生效(带解决方案)
  • ffmpeg学习:ubuntu下编译Android版ffmpeg-kit
  • 元宵节快乐