Model view controller 视图如何更新模型?

Model view controller 视图如何更新模型?,model-view-controller,design-patterns,Model View Controller,Design Patterns,关于视图是否与模型直接交互,有两个学派 我对视图不与模型交互的情况感兴趣。若只有控制器知道视图,但视图不知道控制器,那个么我们可以很容易地用模型数据更新视图,例如,通过调用控制器中的视图和模型方法来编写一些文本 但控制器和模型如何应对视图更改按钮的按下,例如,如果视图不知道控制器或模型的信息?-1个解决方案- 在您的案例视图中,使两个对象以松耦合方式通信的一种方法是不了解控制器,反之亦然,使用messenger模式 “信使”是所有其他人都知道的对象。使用“messenger”对象: 在视图中注册

关于视图是否与模型直接交互,有两个学派

我对视图不与模型交互的情况感兴趣。若只有控制器知道视图,但视图不知道控制器,那个么我们可以很容易地用模型数据更新视图,例如,通过调用控制器中的视图和模型方法来编写一些文本

但控制器和模型如何应对视图更改按钮的按下,例如,如果视图不知道控制器或模型的信息?

-1个解决方案-

在您的案例视图中,使两个对象以松耦合方式通信的一种方法是不了解控制器,反之亦然,使用messenger模式

“信使”是所有其他人都知道的对象。使用“messenger”对象:

在视图中注册对象以发送消息 注册对象控制器、模型。。。收听特定信息 通过这种方式,模型可以对特定视图的事件作出反应,因为它已注册到messenger中

这里有一个完整的C代码示例:

告诉我这是不是你想要的