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