昨天在某个群里讨论时,突然提出了这个概念,网上搜索了一圈,没找到理想的答案,想请大家为我解惑
|
RIcterApr 24, 2015 via iPhone
2
QWQ
看過維基感覺看不懂呀⋯ |
|
3
理解一下 狀態 初始狀態 終結狀態 狀態轉移的一些條件 狀態轉移表/函數
|
|
ozkingApr 24, 2015 via iPhone
4
lz你这是没上过学呀
|
|
zhichengApr 24, 2015 via Android
5
“所有的程序都是状态机,那些不会状态机的,发明了面向对象。”
|
|
JamesRuanApr 24, 2015 via Android
6
不是叫有限状态自动机吗?啥时候可以简称状态机了
|
|
geewApr 24, 2015
8
wiki上不是说得很明白了么
"表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型" |
|
PhoinikasApr 24, 2015
9
|
|
arkilisApr 24, 2015
11
SVM
|
|
vChrysanthemumApr 24, 2015
12
用状态机编程,酥爽酥爽的
来个简单粗暴点的解释,既展示一个简单的状态机。 应用场景: 客户端 向 服务端 报告自己还活着 伪代码: ``` void ReceiveClientRequest( client ) { if ( CONNECTING == client.requestState ) { //首次连接,做些初始化动作, } if ( I_AM_ALIVE == client.requestState ) { //client来报告还活着, do something... } if ( EXCEPTION == client.requestState ) { //client 异常断开了,做些清理工作 } } ``` 以上是个简单的状态机,更经典的例子应该是正则解析。 另: redis的主从复制流程也是简单的一个状态机 大概理一下,一个程序运行过程中,可分为好几种状态,理清楚状态之间的转移,针对每种状态编写业务逻辑,如此,程序逻辑会清晰很多。 |
|
ryd994Apr 24, 2015 via Android
13
其实是一种思考方式
把运行中所有可能出现的情况分到有限个状态里去 然后理清各个状态之间的相互关系,特别是状态之间如何相互转换 这样做好,程序的大框架就有了,不会写乱 |
|
phx13yeApr 24, 2015
14
state pattern
|
|
0ver1oadApr 24, 2015
15
没啥意思,如果往计算机科学方向讲就是自动机理论那一块. 如果有兴趣可以上coursera上找斯坦福的课程学习. 现实开发中, 定义一个变量记录下当前程序的运行状态, 在switch循环中执行相应代码也可称为状态机.
|
|
RothschildApr 25, 2015
16
这就是非科班出身啊,大二大三自动机理论, 编译原理就讲的东西
|