哪种导航设计模式正确?

时间:2015-02-13 19:23:54

标签: design-patterns navigation strong-typing dynamic-typing

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

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

1 个答案:

答案 0 :(得分:2)

您似乎可以从使用State Pattern中受益。

enter image description here

我们的想法是,每个屏幕都有一个 State 。每个屏幕都会自行检查,以确定用户在按下相应按钮时将转到下一个位置。