我开始思考模型和UI之间的依赖关系和调用顺序,分别是控制器- 活动类:
当我想在方法onRestoreInstanceState
中恢复我的Android应用程序状态时,我应该:
- 更新模型的状态,然后调用更新UI的活动?
- 更新模型状态,然后根据模型状态更新UI ?
那么我应该选择哪一个呢?
所以我在这里看到的真的是一个指南,如何订购依赖调用,我知道Android并不真正遵循MVC,所以我应该用什么作为一个方向?
我认为1和2都可能发生,这取决于您的应用程序是什么样的。
你的模型可以广播更改事件,活动或片段可以对更新UI做出反应。
或者您可能有一个非常简单的模型,或者可能是一个从一个活动传递到另一个活动的临时模型。在这种情况下,您可能更有可能只是更新该模型中的信息,然后命令UI进行刷新,同时传递模型。
我有点不了解,所以我认为两者都可以,只要你清楚和一致。当我开始使用Fragments时,我可能会仔细研究对模型中的变化做出反应的最佳方式,它们可能更喜欢广播更改而不是直接调用update/refresh。
在典型的模型-视图-控制器实现中,人们会提醒视图模型已经更新,以便它可以基于更新的模型重新呈现自己。正如维基百科所说:
当模型的状态发生变化时,它会通知其关联的视图和控制器。此通知允许视图生成更新的输出,并允许控制器更改可用的命令集。
所以这是最像你的数字2:
更新模型的状态,然后根据模型状态更新UI ?