关于在使用模型-视图-控制器架构时管理导航和页面状态的最佳实践时,我想更清楚地了解几点:
查看/页面导航:
我们需要跟踪多种导航类型:
- 正常导航:只是四处走动。
- 模态导航:有一些模态视图,我们想回到调用页面。
- 节间导航:当视图被组织成节时,我们需要跟踪状态,这样如果用户导航离开一个节并返回,我们可以将他们带到节内的最后一个视图。
- 中断后恢复:我们需要能够确定中断恢复时的最后一页。
据我了解,所有这些导航路径都是通过将事件发送到控制器中的某个事件处理程序来管理的,事件处理程序将:
- 跟踪导航状态。
- 与模型交互
- 向视图中的适当视图发出调用。
视图/页面状态:
最常见的例子是用户在启动操作之前设置状态的页面/视图,如果页面被导航离开或中断,我们需要使用存储的状态重新创建最后一个页面状态。
在这一点上,我假设页面状态属于视图,但不确定它们的正确设计,例如,我们是否为每个视图/页面使用页面对象,或者我们是否使用中央状态对象等等上。
编辑:关于问题的上下文:
我有一个应用程序可以实现为两种形式:Web 应用程序和移动应用程序。Web 应用程序是在 Python Flask 中完成的(或者以后可能会使用更高级的东西,比如 Django),而应用程序是在 Java/Android 中完成的。首先开发了一个最小的 Web 应用程序,因此它也可以作为移动应用程序的模型。
在这种情况下,有两个主要问题:
- 完全隔离模型,因此转换它只是直接翻译的问题。
- 应用最佳实践来组织视图和控制,以最大限度地减少转换时的重构,并尽可能保持两个环境并行以最大限度地减少维护开销。
考虑到上述情况,我需要更清楚地了解我列出的具体细节适合的位置。