管理MVC中的导航和页面状态

时间:2013-05-10 12:20:55

标签: design-patterns model-view-controller navigation

在使用模型 - 视图 - 控制器架构时,我想了解有关管理导航和页面状态的最佳实践的一个更清晰的想法:

查看/页面导航:

我们需要跟踪多种导航类型:

  • 正常导航:只是四处走动。
  • 模态导航:有模态视图,我们希望返回到调用页面。
  • 节间导航:当视图被组织成部分时,我们需要跟踪状态,这样如果用户离开某个部分并返回,我们就可以将它们带到该部分的最后一个视图。
  • 中断后恢复:我们需要能够在中断恢复时决定最后一页。

通过将事件发送到控制器中的某个事件处理程序,所有这些导航路径都按照我的理解进行管理,事件处理程序将:

  • 跟踪导航状态。
  • 与模型互动
  • 在视图中调用适当的视图。

查看/页面状态:

最常见的示例是页面/视图,其中包含用户在启动操作之前设置的状态,如果页面被导航离开,或者中断,我们需要使用存储状态重新创建最后一页状态。

在这一点上,我假设页面状态属于视图,但不确定它们的正确设计,例如,我们是否为每个视图/页面使用页面对象,或者我们是否使用中央国家对象等。

编辑:关于问题的上下文:

我有一个应用程序可以实现为两种形式:Web应用程序和移动应用程序。 Web应用程序在Python Flask中完成(或者稍后可以使用像Django这样更先进的东西),以及Java / Android中的应用程序。首先开发了一个最小的Web应用程序,因此它也可以作为移动应用程序的模型。

在这种情况下,主要有两个问题:

  • 完全隔离模型,以便转换它只是直接翻译的问题。
  • 使用最佳实践组织视图和控制,以便在转换时最大限度地减少重构,并使两个环境尽可能保持并行,以最大限度地减少维护开销。

考虑到上述情况,我需要更清楚地了解我列出的具体细节适合的位置。

0 个答案:

没有答案