




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
有限状态机(FSM)编程修炼黄师傅
第一章20多年以前,DavidHarel创造了状态机理论来描述复杂的交互系统。随后,状态机理论赢得了广泛的接受,并且被引入到许多软件系统中,最突出的是被引入到UML中作为其一个组成部分。
什么是有限状态机有限状态机系统,是指在不同阶段会呈现出不同的运行状态的系统,这些状态是有限的、不重叠的。这样的系统在某一时刻一定会处于其所有状态中的一个状态,此时它接收一部分允许的输入,产生一部分可能的响应,并且迁移到一部分可能的状态。
第一章有限状态机要素Transition(迁移)从一个状态切换到另一个状态被称为Transition(“迁移”)。引起状态迁移的事件被称为triggeringevent(“触发事件”),或者被简称为trigger(“触发”)。
Action(动作)当一个Event被状态机系统分发的时候,状态机用Action(“动作”)来进行响应,比如修改一下变量的值、进行输入输出、产生另外一个Event或者迁移到另外一个状态等等。
FSMActionTransitionStateGuardEventState(状态)一个系统在其生命周期中某一时刻的运行情况,此时,系统会执行一些动作或者等待一些外部输入。Guard(条件)状态机对外部消息进行响应的时候,除了需要判断当前的状态,还要判断跟这个状态相关的一些条件是否成立。这种判断称为guard(“条件”)。guard通过允许或者禁止某些操作来影响状态机的行为。
Event(事件)就是在一定的时间和空间上发生的对系统有意义的事情。第二章为什么要用状态机编程节省时间
从无序的,繁重的工作中解脱
第三章状态机修编程炼IF...ELSEIF...ELSE1SWITCH...CASE2第三章状态机修编程炼SWITCH...CASE2第三章状态机修编程炼SWITCH...CASE2第三章状态机修编程炼SWITCH...CASE2第三章状态机修编程炼分析:这个是最简单、最常用的FSM实现方法。通过嵌套的2层switchcase实现。外层switchcase判断状态,内层switchcase判断消息。状态采用枚举量。优点:结构简单,便于理解。缺点:代码冗长。结论:这种代码结构感觉比较冗长,不建议在复杂的状态机中使用。优缺点TABLE13第三章状态机修编程炼TABLE13第三章状态机修编程炼这种FSM实现方法对switchstatement进行了改良。根据state、event做成了2维表格,表格中的项就表示action和transition。状态采用枚举量。优点:结构简单,便于理解。代码比较简练。效率最高。缺点:代码结构不是太好,仍然只是针对具体问题。结论:这是一种常用的实现方法。如果没有更好的选择,可以使用。优缺点TABLE23第三章状态机修编程炼这TABLE2只是TABLE1的改良版本,将Action封装API。优缺点TOOLvsLIB4第三章状态机修编程炼TOOLLIBVSTABLE3TABLE4---TOOL4第三章状态机修编程炼这TABLE4只是TABLE3的改良版本,更规范些。这以上宏定义ini的状态机。TABLE3TABLE4---TOOL4第三章状态机修编程炼这TABLE4只是TABLE3的改良版本,更规范些。ini_trans_define对ini状态机进行初始化,及转换表的设置。TFSM_DISPATCH实现事件分发。TABLE5---LIB4第三章状态机修编程炼通过这些api调用实现状态机编程。TOOLvsLIB一个是产生代码,一个是提供api供调用者调用。总结4第三章状态机修编程炼状态机编程修炼唯一没用到得元素Guard,供大家讨论如何是用。该怎样进行时间管理效益效能效率勤恳分享时间产生的效益和“效能、效率、勤恳”三要素之间的关系为:效益(Benefit)效果与利益,是最终追求的结果效能(Effectiveness)强调目的正确、效果有利效率(Efficiency)是指在单位时间里完成的工作量勤恳(Diligence)充分利用时间,不浪费在这三个要素中,效能最为重要,效率次之,勤恳再次之。也就是说,做好时间管理,选择做最重要的事(效能)是根本,然后再正确地去做事(效率),最后再根据前两个要素的实际效果并结合原定计划,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模特儿选角平台行业深度调研及发展战略咨询报告
- 有机食品与保健品行业深度调研及发展战略咨询报告
- 孩子的艺术启蒙家庭教育的另一面
- 学校特殊节假日的车位使用管理
- 创新型企业的组织架构与管理
- 学校信息化教学环境建设研究
- 2025年中国户外广告磁贴市场调查研究报告
- 学前儿童的心理韧性与抗压能力培养
- 2025年中国往复抓棉机市场调查研究报告
- 2025年中国建筑装饰涂料市场调查研究报告
- 成人脑室外引流护理-中华护理学会团体 标准
- 我国刑事诉讼法第四次修改的基点与面向
- 机台验收报告模板
- 智能化钢筋加工施工方案研究
- 急诊与灾难医学第四章呼吸困难
- 《平台经济从业者职业伤害保障制度研究》
- 讴歌改革开放的现代诗词
- 项目管理工程师招聘笔试题与参考答案(某大型集团公司)2024年
- 北师大版三年级下册除法竖式计算题练习100道及答案
- 2024年全国证券投资顾问之证券投资顾问业务考试经典测试题(附答案)
- 公安机关处置群体性治安事件规定
评论
0/150
提交评论