我是靠谱客的博主 儒雅往事,最近开发中收集的这篇文章主要介绍QP 状态机学习笔记1(基本概念)QP学习笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

QP学习笔记

  1. 基本概念
  • 事件:

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

  • 断言: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学习笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部