2 kingsonyoung kingsonyoung 于 2016.02.01 02:33 提问

java的MVC模式View与Model的交互

MVC中,Model传递数据给View,Model可以通过观察者模式的notify的方式告诉View做出响应。应该也可以通过Controller实现和View的交互吧?这样做有必要吗?如果有,可以举个例子吗,谢谢

5个回答

caozhy
caozhy   Ds   Rxr 2016.02.01 06:29

是的,MVC模式其实也可以精简成“VC”模式,因为V和C打交道,V也和M打交道,而M和V是不相干的。所以可以把MC写在一起。
但是这么做编写稍微大一些的程序就发现不方便了,因为很多时候业务是重复的,你同时创建一个手机的页面和一个PC的页面,显然是两个控制器吧,但是公用一样的逻辑,这种情况下把Model独立出来,那么就可以跨Controller复用。修改起来,也只要修改一处。再比如,商品的Model,在订单、购物车、列表等很多地方也都有,这样的逻辑复用数不胜数,这就是为什么要把MVC都分开的原因啊。你自己去体会下。

kingsonyoung
kingsonyoung View和Model可以通过观察者模式进行交互对吧。这样View和Model是不是就没有通过Conteoller进行交互了。这样违反了MVC模式的原则吗
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.01 09:07

如果你有兴趣,还可以google如下关键字:

mvp模式
mvvm模式
mvc 出血模型 失血模型

sinat_31535993
sinat_31535993   Rxr 2016.02.01 09:06

model是模型层,一般只负责封装、储存。而controller负责对view的操作和对model的数据处理。C从M调用数据,然后传递给V。或者C从V获得数据
然后封装进M

u012466268
u012466268   2016.02.01 09:35

MVC模式视图都不是和模型直接互交的,都经过控制器来操作,简单的jq无刷新例子就是控制器读取你模型写好的数据库查询方法,然后视图读取你控制器的方法,就这样就可以刷新视图数据了,其实不难理解,多找点mvc架构的资料看看,或者亲自动手搭建mvc框架,这样自己就能更好的理解了。

baiyuer94
baiyuer94   2016.02.02 01:30

java web 的 mvc设计思想, 就是 控制层(control)和视图层(view)互动的。。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!