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

玩转状态模式

文章目录

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


什么是状态模式

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

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

http://www.dtcms.com/a/17030.html

相关文章:

  • mysql基础操作语句
  • 数据结构:Map Set(一)
  • 【Jenkins流水线搭建】
  • getContainer 是 Ant Design 中重要属性
  • 0基础学LabVIEW
  • 第五篇:AI增强与未来演进——指标管理平台的智能化革命
  • org.apache.kafka.common.errors.TimeoutException
  • C语言:数组和冒泡排序
  • 进阶数据结构——树状数组
  • 鸿蒙HarmonyOS NEXT开发:优化用户界面性能——组件复用(@Reusable装饰器)
  • 【抽象代数】1.2. 半群与群
  • 云HIS医院管理信息系统程序代码,SaaS模式Java语言开发
  • 第 14 天:UE5 C++ 与蓝图(Blueprint)交互!
  • Python----Python高级(网络编程:网络基础:发展历程,IP地址,MAC地址,域名,端口,子网掩码,网关,URL,DHCP,交换机)
  • qt + opengl 给立方体增加阴影
  • 《玩转AI大模型:从入门到创新实践》(10)附录一、AI工具百宝箱
  • LVS 负载均衡集群(DR 模式)
  • 算法刷题-数组系列-59.螺旋矩阵||
  • HTML之JavaScript对象声明
  • 自学网络安全(黑客技术)2024年 —100天学习计划
  • 从驾驶员到智能驾驶:汽车智能化进程中的控制与仿真技术
  • SQL联合查询
  • 如何使用UniApp实现页面跳转和数据传递?
  • 基于 Java 的在线远程考试系统设计与实现(源码+文档)
  • 常见的IP地址分配方式有几种:深入剖析与适用场景‌
  • 【DeepSeek本地部署详细教程】
  • Go语言实现单例模式
  • 【k8s应用管理】kubernetes 安全机制
  • 内容测试2
  • 微软AutoGen介绍——Managing State保存并加载持续会话的Agents和Teams