Notes
Search…
Notes
Introduce
Go
Grammar
System Library
Concurrency in Go
The Go Memory Model
Rust
The Rust Programming Language
Rust by Example
JAVA
Preface
Grammar
Class Libraries
Concurrency
JVM
Web Container
Spring
Tuning
Computer Science
Computer Organization
Algorithm
Network Protocol
Operating System
Design Patterns
UML
OOP
Principle
Refactoring & Specification
Creational
Structural
Behavioral
Observer
Template Method
Strategy
State
Iterator
Chain of Responsibility
Microservice
Distributed System
database
InfluxDB
MySQL
Redis
Elasticsearch
HBase
Kafka
ZooKeeper
MongoDB
Reading
RocketMQ
演说之禅
Other
v2ray
Kubernetes
Git
Maven
Anaconda And Conda
Fuck! Shit!
Open source contribution
Powered By
GitBook
State
有限状态机 FSM(Finite State Machine)有三部分:状态(State)、事件(Event)、动作(Action)。事件触发状态的转移和动作的执行,动作是非必须的。
实现 FSM 有三种方式:
分支逻辑法。将每个状态转移直译成代码,包含大量 if-eles 或 switch-case 语句。
查表法。状态转移图可以用二维表展示,行代表当前状态,列代表事件,值代表新状态和动作。用配置文件保存状态表,当修改状态机时,代码不需要变动。
状态模式。若执行的动作比较复杂,就没法用查表法。
Previous
Strategy
Next
Iterator
Last modified
2yr ago
Copy link