2

У меня есть приложение, которое собирает данные от пользователя через серию экранов. На каждом экране находится , затем. На каждом экране есть назад кнопка. Однако экраны не всегда последовательны и линейны. Например, если платеж уже сделан, и пользователь находится на экране подтверждения, когда они нажимают кнопку «Назад», они должны быть отправлены на экран бронирования. Я решил, что мне нужен объект, называемый «StateMarshaller», который бы понимал вещи о домене и обнаруживал следующие функции (string action) back (string currentLocation). Затем он вернет объект «State» и скажет приложению, куда идти.Какой правильный шаблон проектирования для навигации?

Я просто задавался вопросом, может ли кто-нибудь порекомендовать хороший шаблон для достижения, поскольку мы создаем наши тестовые примеры и рефакторинг, я смотрел на команду или итератор, но не полностью чувствовал их. Я думаю, что часть проблемы заключается в том, что я привык к сильному набору текста, но теперь я использую динамический язык.

+0

Если возможно, вместо того, чтобы делать следующее/prev, дайте пользователю сухарики и пусть он решит, куда идти – piotrek

ответ

2

Кажется, что вы можете использовать State Pattern.

enter image description here

Идея будет то, что вы будете иметь Штат для каждого экрана. Каждый экран будет выполнять свою собственную проверку, чтобы определить, куда пользователь будет идти дальше, нажав соответствующие кнопки.

+0

спасибо, что нашли время, чтобы прокомментировать это! – Exitos

Смежные вопросы