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

玩转状态模式

文章目录

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


什么是状态模式

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

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

相关文章:

  • 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天学习计划
  • 卿晨璟靓等用服刑经历“引流”,专家:将犯罪问题娱乐化会消解刑罚严肃性
  • 精品消费“精”在哪?多在体验上下功夫
  • 蒋圣龙突遭伤病出战世预赛存疑,国足生死战后防线严重减员
  • 坚持吃素,是不是就不会得高血脂了?
  • 商务部新闻发言人就出口管制管控名单答记者问
  • 经济日报整版聚焦:上海构建法治化营商环境,交出高分答卷