Photo by Aaron Burden
Talk about State Design Pattern
created by Vladimir Minkin
Encapsulate what Varies
The state pattern can be interpreted as a strategy pattern.
Which is able to switch the current strategy through invocations of methods defined in the pattern's interface.