MVC 模型的 Model 和 View 的耦合性体现在哪里?

VenyoWang 发布于 2016/03/07 09:50
阅读 944
收藏 0

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

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

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

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

加载中
0
Sel8616
Sel8616

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

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

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