State Machine
Хорошо себя показывает в разного рода CRM, колл-центрах, Order Proceesing в сложных системах.
Из одного состояния можно перейти только в определенные, каждое состояние валидно, открыты только определенные переходы и в целом такой подход к проектированию
помогает бороться со сложностью условий и контролем состояний.