前言
本篇文章本来是单纯的笔记总结,但是心中疑问很多,于是尝试自己解决,以下全部是个人理解,深知自己理论知识(软件工程)不过硬,欢迎指正,多多交流。
正文
有限状态机—逻辑单元内部处理方式
很早就听过状态机的大名,以为高深莫测,其实它也很平易近人,我们通过有限状态机这个模型,来进行业务逻辑处理。
在学习计算机网络时,用有线状态机来描述TCP协议:
这样显得很清楚,当我们写逻辑处理的代码,(就if-else switch-case)这样子的代码,如果我们能用一个有限状态机来描述,这样编写的代码就非常的清晰,程序的可维护性也变得更好了。
正如名字一样,我们的程序将具有有限的状态,每时刻的状态都是唯一确定的,在事件发生之后,程序由当前状态转换到另一种状态。
看到这里,也许你会想到,这TM和流程图有毛区别。
是的,此刻我就是这么想的。
所以,让我们用一个实际例子来说明吧。
情景:
康康去东区食堂,决定吃黄焖鸡,但是今天是新来的小姐姐,不会叫号,于是康康每隔一段时间就要去看看鸡做好没有,等待过程中,康康掏出手机给妹子讲C++。
那么我们通过流程图(左图)以及有限状态机(右图)来比较看看