QP 状态机学习笔记1(基本概念)

QP学习笔记

  1. 基本概念
  • 事件:

一个事件是一类瞬间发生的能导致状态机去执行动作的事情。事件可以有参数,参数可以携带关于这个已发生事情的定量化的信息。当接收到一个事件的实例,状态机通过完成动作(执行代码)来响应。响应也许包括改变状态,这被称为一个状态转换。

  • 扩展状态变量:QEP设计的创新性来自于把状态直接映射成状态处理函数,处理在状态里他们表示的全部事件。
  • QEP层次式事件处理器的核心元素是QFsm结构,它通过一个‘状态处理函数指针’来跟踪当前状态。QFsm是用来派生的。
  • QEP FSM的好处:通过函数指针来消除一层switch case

2.状态机的基本实现方式:

a)       嵌套的switch 语句

b)       状态表

c)       面向对象的状态设计模式

d)       目的:消除判断语句

思考方式:

不要使用分散的C或C++语句来思考,而应该使用状态机元素比如状态,转换,进入/退出动作,初始转换,和监护条件来思考。当你的思维有了这个量子跃迁,你将不会和令人费解的“意大利面条”代码作斗争。你将开始在一个较高的抽象层来思考,用最好的方法把行为分区到各个状态,在任何给定时间有哪些可用时间,以及记得状态机的最优化的状态层次。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值