Вы описываете четыре основных элемента функции:
- проверка пользователя по списку
- определение одного из двух сценариев
- запоминание выбранных данных
- с использованием запомненных выбранных данных
В целом, я не думаю, что вы достаточно разложили проблему, чтобы начать думать о шаблонах проектирования - шаблоны становятся важными после того, как вы определили некоторые подходящие классы и начинаетепосмотреть, как их отделить.Таким образом, мой следующий шаг будет состоять в том, чтобы спроектировать некоторые классы для выполнения этих 4 задач, а затем критически привести пример получившейся Объектной модели, посмотреть, нужно ли уточнение.Первый шаг: определить классы с понятными интерфейсами и обязанностями.