Java 模型应该更改UI还是同时更改UI?

Java 模型应该更改UI还是同时更改UI?,java,android,model-view-controller,user-interface,separation-of-concerns,Java,Android,Model View Controller,User Interface,Separation Of Concerns,我开始想知道模型和UI(分别是控制器)活动类之间的依赖关系和调用顺序: 当我想在方法onrestoreinnstancestate中恢复Android应用程序的状态时,我应该: 更新模型的状态,然后调用更新UI的活动 更新模型的状态,然后根据模型状态更新UI 那么我应该选择哪一个呢 因此,我在这里看到的只是一个如何排序依赖项调用的指南,我知道Android并不真正遵循MVC,所以我应该使用什么作为方向?在典型的实现中,人们会提醒视图模型已经更新,以便它可以根据更新的模型重新呈现自己。正如维基百科

我开始想知道模型和UI(分别是控制器)活动类之间的依赖关系和调用顺序:

当我想在方法
onrestoreinnstancestate
中恢复Android应用程序的状态时,我应该:

  • 更新模型的状态,然后调用更新UI的活动
  • 更新模型的状态,然后根据模型状态更新UI
  • 那么我应该选择哪一个呢

    因此,我在这里看到的只是一个如何排序依赖项调用的指南,我知道Android并不真正遵循MVC,所以我应该使用什么作为方向?

    在典型的实现中,人们会提醒视图模型已经更新,以便它可以根据更新的模型重新呈现自己。正如维基百科所说:

    当模型的状态发生变化时,模型会通知其关联的视图和控制器。此通知允许视图生成更新的输出,并允许控制器更改可用的命令集

    所以这最像你的2号:

    更新模型的状态,然后根据模型状态更新UI


    我认为1和2都可能发生,这取决于您的应用程序是什么样的

    您的模型可以广播更改事件,活动或Fragmenet可以对更新UI做出反应

    或者您可能有一个非常简单的模型,或者可能有一个从一个活动传递到另一个活动的瞬态模型。在这种情况下,您可能更愿意只更新该模型中的信息,然后命令UI刷新,同时传递模型


    我有点失去联系,所以我认为只要你的观点清晰一致,两者都可以。当我开始使用片段时,我可能会仔细阅读对模型中的更改做出反应的最佳方式,与直接调用更新/刷新相比,他们可能更喜欢广播更改。

    为什么恢复应用程序状态会影响您的模型?@M.ElSaka,因为该模型基本上支持应用程序,并提供应用程序正在使用的功能。但安卓应用程序不遵循MVC模式。“活动”得到更新。@MaxRhan您决定如何设计应用程序与Android如何允许您与api交互无关。你可以随意使用MVC。Android上的许多应用程序都使用MVC模式。特别是,您的活动可以将此更新转发到应用程序的模型部分,并向视图发出模型已更新的信号,充当MVC的控制器。