Glossary: Software Design Patterns in Java
State machine
Also written: state pattern, state
Something that is always in exactly one of a fixed set of states, with rules for moving between them. An order moves placed, paid, shipped, delivered, and `moveTo` refuses illegal moves.