Glossary: Software Design Patterns in Go
State
Also written: state pattern
A pattern for things whose allowed actions depend on their status. In its lightest form it is a transitions map plus one `moveTo` function; the textbook form makes each state a type with the same methods.