问题描述
- java的MVC模式View与Model的交互
-
MVC中,Model传递数据给View,Model可以通过观察者模式的notify的方式告诉View做出响应。应该也可以通过Controller实现和View的交互吧?这样做有必要吗?如果有,可以举个例子吗,谢谢
解决方案
是的,MVC模式其实也可以精简成“VC”模式,因为V和C打交道,V也和M打交道,而M和V是不相干的。所以可以把MC写在一起。
但是这么做编写稍微大一些的程序就发现不方便了,因为很多时候业务是重复的,你同时创建一个手机的页面和一个PC的页面,显然是两个控制器吧,但是公用一样的逻辑,这种情况下把Model独立出来,那么就可以跨Controller复用。修改起来,也只要修改一处。再比如,商品的Model,在订单、购物车、列表等很多地方也都有,这样的逻辑复用数不胜数,这就是为什么要把MVC都分开的原因啊。你自己去体会下。
解决方案二:
如果你有兴趣,还可以google如下关键字:
mvp模式
mvvm模式
mvc 出血模型 失血模型
解决方案三:
model是模型层,一般只负责封装、储存。而controller负责对view的操作和对model的数据处理。C从M调用数据,然后传递给V。或者C从V获得数据
然后封装进M
解决方案四:
MVC模式视图都不是和模型直接互交的,都经过控制器来操作,简单的jq无刷新例子就是控制器读取你模型写好的数据库查询方法,然后视图读取你控制器的方法,就这样就可以刷新视图数据了,其实不难理解,多找点mvc架构的资料看看,或者亲自动手搭建mvc框架,这样自己就能更好的理解了。
解决方案五:
java web 的 mvc设计思想, 就是 控制层(control)和视图层(view)互动的。。。。
时间: 2024-09-10 10:43:29