哪个是正确的导航设计模式?

Which is the correct design pattern for navigation?

我有一个通过一系列屏幕从用户那里收集数据的应用程序。每个屏幕上都有一个 next 按钮。每个屏幕上都有一个 back 按钮。然而,屏幕并不总是顺序和线性的。例如,如果已经付款并且用户在确认屏幕上,当他们点击返回时,他们应该被带到编辑预订屏幕。我决定我需要一个名为 'StateMarshaller' 的对象,它可以理解有关域的事情,并且可以公开 next(string action) back(string currentLocation) 函数。然后它将 return 一个 'State' 对象并告诉应用程序去哪里。

我只是想知道在我们构建测试用例和重构时是否有人可以推荐一个好的模式作为目标,我正在查看命令或迭代器但没有完全感觉到它们。我认为部分问题是我习惯了强类型,但现在正在使用动态语言。

看来您可以从使用 State Pattern 中获益。

我们的想法是每个屏幕都有一个 State。每个屏幕都会进行自己的检查,以确定用户在点击相应按钮时下一步会去哪里。