首页 > 其他分享 >状态机模式的初步了解及学习心得体会

状态机模式的初步了解及学习心得体会

时间:2024-02-24 14:44:26浏览次数:27  
标签:初步 心得体会 状态 代码 状态机 响应 切换 播放

这种模式,解决的是,程序在不同状态切换及增加新的状态时,需要改很多代码的问题。它能用简单的逻辑控制程序从一个状态切换为其他被允许的状态,我昨天在网上看的一个例子,一个播放器,有播放,暂停,关闭的状态。处于关闭状态时,只能响应播放的代码;处于暂停状态时,能响应关闭和播放代码;处于播放状态时,能响应暂停和关闭的代码。这就是不同状态的切换,及只能响应允许的状态。要使用状态机模式,问题需求,要有不同的状态,这些状态之间会切换。一些控制比较多的软件需求,就可以使用。以后,有机会,用到真实的场景中试试更好。 具体的代码,网上很多,我看的这篇博客: https://www.cnblogs.com/hellocsl/p/4000122.html,这个是java写的,自己尝试用C#按自己的理解相当于默写了一遍,最后才体会到贴的这篇文章的代码为什么要这么写,真的,看了之后,得按自己得理解写一遍,理解才会更深一些。

标签:初步,心得体会,状态,代码,状态机,响应,切换,播放
From: https://www.cnblogs.com/HelloQLQ/p/18031067

相关文章

  • 多项式初步
    多项式初步目录多项式初步自己写的分治FFT/NTTPart1分治FFT/NTTPart2①.多项式求逆:②.多项式带余除法:③.多项式开根:④.多项式对数:⑤.多项式exp:⑥.多项式快速幂:模板基础操作MTT自己写的分治FFT/NTTPart1给定序列\(g_{1\dotsn-1}\),求序列\(f_{0\dotsn-1}\)。其中......
  • 邮件地址校验测试点初步整理
    1、输入正确的邮箱格式2、输入的正确的邮箱地址中间包含空格3、输入的正确的邮箱地址前面有空格4、输入的正确的邮箱地址后面有空格5、不输入任何内容6、只输入空格7、输入纯英文、纯数字,英文+数字pass8、输入纯中文,纯符号,中文+符号9、输入超长字符10、输入以_开头或者结尾11、......
  • 状态机
    状态机四大概念状态(State)一个状态机至少包含两个状态,并且有初始状态。事件(Event)一个行为,一个动作的触发条件,一个事件对应一个动作。动作(Action)事件发生后要执行的动作。执行完动作后要有相应的状态变换。变换(Transition)表示一个状态变成另一种状态的过程。在执行......
  • 最高法--就担保事项而言,执行董事签字的决议应初步认为与董事会决议具有同等效力
    (2021)最高法民申7872号  恩平市光谷光电科技有限公司、王良海等民间借贷纠纷民事申请再审审查民事裁定书申请人主张:(一)原判决认定光谷公司对王良海二审提交的证据无异议错误。光谷公司二审并未出具授权委托书,广东广伦律师事务所洪佳盛律师无权代理光谷公司就王良海二审提交的证......
  • slurm初步使用
    先使用脚本.sh1#!/bin/bash2#SBATCH--job-name=test3#SBATCH-pamd_2564#SBATCH--error=log/%J.err5#作业运行的标准错误输出将写到文件log/[JOBID].err文件中6#SBATCH--output=log/%J.out7#作业运行的标准输出将写到文件log/[JOBID].out文件中8......
  • python turtle库的初步认识
    pythonturtle库的初步认识一、设置主窗体的大小与位置.....turtle.setup(宽,高,与屏幕左侧的像素距离,与屏幕右侧的像素距离) #后两个数值为None时,该方向则默认居中二、画笔控制......turtle.penup() #抬起画笔,表示移动画笔不绘制形状turtle.pendown() #落下画笔,表示移......
  • 初步体验通过 Semantic Kernel 与自己部署的通义千问开源大模型进行对话
    春节之前被SemanticKernel所吸引,开始了解它,学习它。在写这篇博文之前读了一些英文博文,顺便在这里分享一下:IntrotoSemanticKernel–PartOneIntrotoSemanticKernel–PartTwoBuildacustomCopilotexperiencewithyourprivatedatausingandKernelMemory......
  • Python 语法——初步认识语法元素的基本含义
    Python语法——初步认识语法元素的基本含义部分内容对照c语言(实际不影响阅读)以下为3.x内容的Python一、缩进c语言常常用{}来划分包含与层次关系;而Python使用缩进——Tab键或者空格实现(一般为4个空格)二、注释c语言常常用//或者是/**/来进行单行、多行注释;而Python使......
  • TCP拥塞控制算法初步介绍
    TCP拥塞控制算法初步介绍写得较为浅显,若有错误的地方还请指正.一、TCP拥塞控制:让发送方自己感知网络的拥塞程度并限制其能向链接发送流量的速率.限制方法:设置LastByteSent-LastByteAcked<=min{cwnd,rwnd}即已发送而未被确认的流量小于等于两个窗口长其中,cwnd......
  • git 常用命令初步
    创建一个新项目之后,在该项目文件夹下打开gitbash,然后执行gitinit来初始化本地库之后用gitstatus查看当前状态,其中会显示当前所在分支,已进行的commit和未进行的commit(如果有文件未进行gitadd,只存在于工作区,也会提示)然后用gitadd[file_name]把工作区某个文件放到暂......