3
回答
MVC 模型的 Model 和 View 的耦合性体现在哪里?
【腾讯云】学生服务器套餐10元/月 >>>   

我经常看到有文章说 MVC 的 Model 和 View 之间的耦合性太强。我对于这点一直很不解。

平时在开发的时候,都是 View 提交请求给 Controller,Controller 从 Model 层获取数据,然后会调用一些方法把数据以 key-value 的形式传递给 View 层。View 层只是简单的根据 key 来获取数据,然后填充界面。

为什么这样子就造成了 Model 和 View 的耦合呢?

本人对此很是不解,望大神赐教。

<无标签>
举报
VenyoWang
发帖于2年前 3回/912阅
共有3个答案 最后回答: 2年前

没有啊,Controller的意义本来就是降低V和M之间的偶合。

View是来源于Model的,但由于Controller存在于V和M之间,使得我们可以基于Model自由地构造View,想怎么封装都可以。

--- 共有 3 条评论 ---
VenyoWang回复 @Sel8616 : 嗯,感谢你的回答。虽然现在我还是不没太明白,但是希望以后开发过程中,能逐渐理解。 2年前 回复
Sel8616回复 @VenyoWang : 我个人认为,可能是入门级MVC,就像很多人使用世界上最好的语言,直接把sql结果往response里一丢就啥也不管了。这种其实都不算是MVC。 2年前 回复
VenyoWang我也是这么想的,那网上很多人说的 Model 和 View 的耦合是体现在哪里的? 现在出现了很多编程模型,都说是为了解决 Model 和 View 之间的耦合。比如 MVP 模型。 2年前 回复
在View里直接调用Model里的数据?不过PHP里面,在模板里直接调用系统函数也是很正常的,很多程序都这样做,比如WordPress和PunBB等.
--- 共有 1 条评论 ---
VenyoWang我的理解是 Controller 获取 Model 层的数据后,把数据传给 View 层,这过程并没有 Model 层和 View 层的直接交互,为什么很多人都说 Model 层和 View 层有耦合呢? 2年前 回复
MVC 的 Model 和 View 之间的耦合性太强,这句话,估计是为了引出这个mvc模型的吧。view是通过model显示信息,如果没有controller的话,就是直接显示了,所以就是为了引出controller这个层面的吧
--- 共有 3 条评论 ---
VenyoWang回复 @草的高度 : 哦。这样啊。谢谢。 2年前 回复
草的高度@VenyoWang mvc模型快被弃用了,是因为我们现在的信息量越来越大,才会有比mvc更加灵活的模型出现吧 2年前 回复
VenyoWang可是如果 Controller 能够很好的缓解 Model 与 View 之间的耦合度的话,现在就不会出现很多其他编程模型了。而且这些模型大部分都说是为了解决 MVC 的缺点。 2年前 回复
顶部