Поведенческие паттерны на Swift - State (Состояние)
Рассмотрим поведенческий паттерн Состояние, смысл которого - изменять поведение объекта в зависимости от его состояний, которые представлены классами. Поведение описывается в методах этих классов, которые требует реализовать протокол состояния.