State Pattern
A behavioral design pattern that allows an object to alter its behavior when its internal state changes, appearing to change its class.
A behavioral design pattern that allows an object to alter its behavior when its internal state changes, appearing to change its class.