早些时候,许多开发人员认为视图不应该像大多数框架那样直接与模型通信。
然后,这个观点似乎是错误的,我找了一些文章,这些文章说视图可以直接与模型通信。
http://r.je/views-are-not-templates.html
http://www.tonymarston.net/php-mysql/model-view-controller.html
模型、视图、控制器混淆
以及
模型应该如何在 MVC 中结构化?
这些文章中的大多数都引用了维基百科的一个块,模型-视图-控制器,引用是:
视图查询模型以生成适当的用户界面(例如,视图列出了购物车的内容)。视图从模型中获取自己的数据。在一些实现中,控制器可以向视图发出一般指令以呈现其自身。在其他情况下,需要屏幕更新的状态变化模型(观察者)会自动通知视图。
啊,来自wikipedia,这么权威的网站,一定是对的!
但是现在,当我打开MVC http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller的wiki链接时,页面已经编辑在今年9月14日(当年2013),上面的句子已经消失了。
视图的新定义是:
视图通过控制器从模型请求它需要生成输出表示给用户的信息。
现在我再次感到困惑,新定义说视图应该通过控制器从模型请求数据......
视图访问模型应该直接在地球上吗?