How to implement the state architectural pattern
Define and maintain a state machine within an object-oriented software system.
The State pattern is a convenient way to implement a state machine that’s more maintainable than a typical switch-statements-in-multiple-places implementation. In this video segment, Allen Holub explains how the individual methods of objects will change behavior based on the specific state that an object is in.