State PatternExplains the State pattern which allows an object to alter its behavior when its internal state changes.