注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

午夜阳光

 
 
 

日志

 
 

MVC1和MVC2区别小结  

2011-11-28 14:08:43|  分类: MVC |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

基本概念:

M:Model 程序的业务

V:View 程序的界面

C:Controller 程序的控制部分

 

1.MVC1模式

 

 

view接受用户输入,并传递到controller.

controller统一进行处理命令,交由model处理具体的业务.

进过处理model更新后,通知view进行更新.

这种模式主要用于桌面程序,使用观察者模式实现,具体来说就是让View观察Model,而用户交互控制的地方用匿名类的方式统一放在controller中.

2.MVC2模式

 

view接受用户输入,并传递到controller.

controller统一进行处理命令,交由model处理具体的业务.

进过处理model更新后,controller会选一个view并把model内容传递(request,session)给它(forward).

然后view进行显示.

3.区别

可以看到,model是否能主动通知view就是二者的主要差别.桌面程序可以做到,所以使用MVC1; Web程序由于Http协议的限制做不到,所以使用MVC2.


附录:
        mvc1 模式:
view接收用户输入,把命令传到controller
controller处理命令,更新model
model被更新后,会通知view需要update
view更新后向用户显示
        mvc2 模式:
由于mvc1中,model可以通知view,然后view就可以被更新,这在windows程序中很常见,像MFC的frame-document-view架构,如果document改变了,他会主动通知view进行update
但是在web中,作为model的java bean更新后,无法调用作为view的jsp(而且view通常很多,需要选一个),因此改为mvc2模式:
view接收用户输入,把命令传到controller
controller处理命令,更新model
model被更新后,controller会选一个view并forward到这个jsp,附带把model放到request参数
这个view获得model然后显示


if ($ != jQuery) { $ = jQuery.noConflict(); } var isLogined = false; var cb_blogId = 79723; var cb_entryId = 1889010; var cb_blogApp = "taochun"; var cb_blogUserGuid = "3b4892e1-3bf8-df11-ac81-842b2b196315"; var cb_entryCreatedDate = '2010/11/26 17:23:00';

  评论这张
 
阅读(622)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018