MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。如下图:
MVC模式在具体的应用中,又分为MVC1和MVC2模式。下面分别说说这两种模式的概念、应用方向和主要区别。
1.MVC1模式
View接受用户输入,并传递到Controller。
Controller统一进行处理命令,交由Model处理具体的业务。
经过处理Model更新后,通知View进行更新。
这种模式主要用于桌面程序,使用观察者模式实现,具体来说就是让View观察Model,而用户交互控制的地方用匿名类的方式统一放在Controller中。像MFC的frame-document-view架构,如果document改变了,他会主动通知View进行update。但是在WEB应用程序中,Model(在Java中通常是JavaBean)的数据更新后,无法通知View进行更新(View在Java中通常是非常多JSP页面,需要选择一个),因此,在WEB应用程序中应该使用下面这种模式:MVC2模式。
2.MVC2模式
View接受用户输入,并传递到Controller。
Controller统一进行处理命令,交由model处理具体的业务。
经过处理的Model更新后,Controller会选一个View并把Model内容传递(request,session)给它(forward)。然后View进行显示。
3.区别
可以看到,Model是否能主动通知View就是MVC1和MVC2模式的主要差别。桌面程序可以做到,所以使用MVC1;Web程序由于Http协议的限制做不到,所以使用MVC2。
分享到:
相关推荐
mvc模式mvc模式mvc模式mvc模式mvc模式mvc模式mvc模式mvc模式mvc模式
MVC模式和Struts框架
运用观察者模式及MVC模式的整合,是javaWeb的简单的实现了选民投票
三层架构和MVC模式区别
经典mvc模式开发经典mvc模式开发经典mvc模式开发
我对照网上一篇讲述MVC设计模式的文章,用VS2008的C#语言写的MVC设计模式例子程序。
基于MVC模式,数据库用的是ACCESS。有添加删除功能等操作。
MVC模式概述 MVC模式概述 MVC模式概述
jsp计算器 带按键界面的mvc模式web计算器
MVC模式
MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View...
基于Servlet的MVC模式.ppt
这是一个实现网上购物商城购物车系统的代码,采用JAVAEE的MVC模式,采用的最简单的实现方式,有利于初学者对MVC模式的理解。
(1)MVC模式与ASP.NET MVC框架概述 时长1个多小时
运用MVC模式开发网上图书系统,包含数据库的运用。
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂
MVC模式详解
该系统主要采用MVC(JSP+JavaBean+Servlet)模式开发,非常适合初学者了解并掌握MVC开发模式,具有如下主要功能: 1.用户登录,注册(用户注册后才能登录) 2.显示所有书籍基本信息(编号,书名,价格等) 3.添加...
MVC模式网上书店系统 MVC 毕业设计 网上书店 Mysql+Tomcat
MVC模式图,不知道这图对不对!请指教