概述
QP学习笔记
- 基本概念
- 事件:
一个事件是一类瞬间发生的能导致状态机去执行动作的事情。事件可以有参数,参数可以携带关于这个已发生事情的定量化的信息。当接收到一个事件的实例,状态机通过完成动作(执行代码)来响应。响应也许包括改变状态,这被称为一个状态转换。
- 断言:https://baike.baidu.com/item/assert.h/336982?fr=aladdin
- 状态表:函数指针数组
- 状态类:
- 扩展状态变量:QEP设计的创新性来自于把状态直接映射成状态处理函数,处理在状态里他们表示的全部事件。
- QEP层次式事件处理器的核心元素是QFsm结构,它通过一个‘状态处理函数指针’来跟踪当前状态。QFsm是用来派生的。
- QEP FSM的好处:通过函数指针来消除一层switch case
2.状态机的基本实现方式:
a) 嵌套的switch 语句
b) 状态表
c) 面向对象的状态设计模式
d) 目的:消除判断语句
思考方式:
不要使用分散的C或C++语句来思考,而应该使用状态机元素比如状态,转换,进入/退出动作,初始转换,和监护条件来思考。当你的思维有了这个量子跃迁,你将不会和令人费解的“意大利面条”代码作斗争。你将开始在一个较高的抽象层来思考,用最好的方法把行为分区到各个状态,在任何给定时间有哪些可用时间,以及记得状态机的最优化的状态层次。
最后
以上就是儒雅往事为你收集整理的QP 状态机学习笔记1(基本概念)QP学习笔记的全部内容,希望文章能够帮你解决QP 状态机学习笔记1(基本概念)QP学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复