【发布时间】:2013-09-18 13:01:13
【问题描述】:
之前,许多开发人员认为视图不应该直接与模型通信,就像大多数框架一样。
然后,这个观点好像是错误的,我找了一些文章,这些文章说view可以直接和model通信。
http://r.je/views-are-not-templates.html
http://www.tonymarston.net/php-mysql/model-view-controller.html
Model, View, Controller confusion
和
How should a model be structured in MVC?
这些文章大部分都引用了维基百科的一个块,Model-view-controller,引用是:
视图查询模型以生成适当的用户界面(例如视图列出购物车的内容)。视图从模型中获取自己的数据。在一些实现中,控制器可以向视图发出一般指令以呈现其自身。在其他情况下,需要屏幕更新的模型(观察者)状态变化会自动通知视图。
啊,来自维基百科,这么权威的网站,一定是对的!
但是现在,当我打开MVChttp://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller的wiki链接时,页面已经编辑到今年(2013年)9月14日,上面那句话已经没有了。
视图的新定义是:
视图通过控制器从模型中请求它需要的信息,以便为用户生成输出表示。
现在我又搞糊涂了,新定义说视图应该通过控制器从模型请求数据...
视图访问模型应该直接在地球上吗?
【问题讨论】:
-
你应该在programmers.stackexchange.com问这个问题
-
对不起,我在这个网站上发现了很多类似的话题,没有找到答案,所以我只是在这里发布......
-
@Cifer wiki 文章已修复。
-
@tereško 你刚才说维基文章的更改是破坏行为,为什么要编辑你的答案?您找到文章更改的适当原因了吗?
-
因为那里有很多不好的信息。所有类似 Rails 的框架都使用术语“MVC”作为广告工具。你认为如果有人开始宣传他们正在使用极其愚蠢的PAC 版本,他们会被炒作吗?