我已经在 SO 上搜索过这个问题,但我基本上没有找到关于这个特定场景的问题;因此,我问的理由。
我对 MVC 模式有一个基本的、抽象的理解:控制器根据需要的操作调用正确的模型;模型包含实际的业务/数据逻辑,视图显示结果。我无法理解的是实际的实现。
最初,我的假设是:控制器调用模型;Model处理信息,并将数据返回给Controller;控制器调用视图,将此数据传递给视图,视图只是显示它。在阅读了更多关于 MVC 的文章后,我发现 Model 并没有真正将数据传递回 Controller;相反,它会触发一个事件,它允许控制器调用正确的视图。
我的问题集中在这个事件触发部分:
Q.1:必须真的触发一个事件吗?一旦Model完成处理,将控制权交还给Controller,Controller就不能简单的调用View吗?
Q.2:在实际实现中,Model对象被注入到Controller类中。所以,模型对象基本上不知道控制器叫什么。它如何知道向哪个控制器触发事件?我们怎么知道 Controller 期待那个通知?
Q.3:Controller调用View,将当前的Model对象注入到View中,View可以使用它来获取需要的数据。这是正确的还是错误的?如果错了,为什么错了,正确的方法是什么?
我已经在这里和其他网站上阅读了关于 MVC 的问题,查看了 MVC 图表,但我无法真正按照应该连接的方式连接这些点。
谢谢。
问问题
257 次