Skip to content

Ryan-BetterMe/StateMachineDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

State Machine Demo

这是一个学习状态机总结的一个小项目。

使用了面向对象的方式和函数式的方式分别实现了一个简单的状态机。

其中使用函数式实现的状态机在具体的项目中被我使用过,效果还可以,这里添加了多线程管理的代码。

状态机是什么?

状态机是一种数学模型,用来表示状态以及状态之间的转换和动作。

我们一般使用的是确定性有限状态机。(即一种状态对于一种输入只能有一种转换规则)。

状态机的组成要素?

一个确定性有限状态机有基本的五个组成部分:

  • 输入
  • 状态集
  • 初始状态
  • 结果状态机
  • 转换规则

具体的我写了一些文章来总结在Swift中实现状态机。链接在这里

1、使用面向对象的方式来实现状态机

OOP状态机类图

2、使用面向函数的方式来实现状态机

函数式状态机类图

3、一个状态机的流程图

OOP状态机流程图

About

Two ways to achieve a state machine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages