1. 三层架构与MVC
三层架构:表现层、业务层、持久层
MVC是表现层功能页面的组织方式,包括数据,页面控件,页面中的操作。
解释了为什么说一些js框架声称支持MVC。
2. 标准MVC
从Head First 设计模式一书中了解到,MVC是对多个设计模式的一种组合应用。
M封装了数据和业务逻辑方法。
V封装了页面控件,从M中获取数据,初始化控件的值,监听M中数据的变化,更新控件的值。使用了观察者模式。同时V中控件是一个组合过程,使用了组合模式。
C封装了页面控件的操作,监听控件的事件,进行一些行为处理,行为包括调用M中的业务逻辑方法,修改V中控件的状态。C代表行为,是可以替换的,使用了策略模式。
3. CS的MVC与BS的MVC
CS的MVC
符合标准MVC的使用
表现层 <------------------http -----------------> 业务层,持久层
MVC同处于一个环境中,可以搭建标准MVC的对象依赖关系。
BS的MVC
不符合标准MVC的使用,是一个适应后的产品
表现层(浏览器) <-----------------http--------------------> 表现层(服务器),业务层,持久层
V(html) + C(js) C(struts) V(jsp) M
MVC没有处于同一个环境,不能搭建标准MVC的对象依赖关系,只能有所取舍,或者通过其他途径实现类似的效果。
封装数据的M没有了,初始化页面的数据直接来源于数据库表(也可以通过session缓存数据对象)。
V没有监听M中数据的变化,不会根据数据而更新视图(利用session + ajax也可以达到这种效果)。没有使用观察者模式。
C通过js监听按钮事件发起http请求,struts接收请求,可以调用M的业务逻辑方法,可以返回完整页面或通过ajax更新部分页面。没有使用策略模式。
4. 真实数据和克隆数据
这里讨论一下MVC中M缓存的数据。这个数据是从数据库查询出来的,如果数据库中的数据是真实数据,那么M中封装的数据是克隆数据,这份数据用于支持表现层页面中数据的编辑,如果表现层页面最终保存,则将该数据持久化到数据库中,如果表现层页面最终关掉了,则该临时数据直接丢掉。
但在BS程序中的M一般没有缓存该临时数据,对数据的查询,更新直接对数据库表,这样就没有刚才的灵活性,导致一些过程数据(可能保存,也可能不保存)被放入数据库表中,如果保存了,就认为是正式数据,如果是关掉了,就认为是垃圾数据,这样就不灵活。当然可以通过session来缓存一份克隆数据是比较好的,这样就和标准MVC中的使用类似了。
相关推荐
1.获取*.action完整路径 2.获取*.截取完整请求路径,得到请求路径名。 3.根据请求路径获取对应的Action子控制器 。 4.将请求委托action子控制器处理。
mvc介绍,各种mvc理解的介绍,完成mvc最终含义的介绍。
MVC 理解model:访问数据就像我们通常的dal view:显示页面 control:业务逻辑,路由到页面。 model view control简称 mvc model:模型 view:视图 control:控制器
有关MVC框架的深入理解的几篇文档,很经典哦,是我收集的关于MVC知识的精华呵
一个mvc的实例,看懂后对mvc理解会清楚很多
MVC框架的理解:模型层,页面层,控制层
对初学MVC开发者很有学习、参考...3、每个添加,修改,删除按钮都有几种方法实现,方便开发人员对MVC理解。 4、实现数据表格分页功能。 5、源程序代码简单明了,每个方法都有详细注解,对初学MVC开发人员不可多得代码。
MVC详细教程 经典的MVC案例 MVC案例 mvc MVC教程 解压缩之后有10M,有两个文件夹一个是MVC经典教程,还有一个是MVC案例
让我们更好的了解 spring mvc 注解方面的知识 适合入门
一个自己编写的MVC小程序,适合初学者学习!
ASP.NET MVC5 高清完整版,适合新手学习,理解MVC架构
主要包括MVC的设计思想、实现和原理,以及和其他人的理解。 一、MVC设计思想 二、MVC设计模式的实现 三、MVC设计模式的扩展 四、MVC的优点 五、MVC的不足
mvc模式的贪吃蛇,简单容易理解,可以下来看看
基于ASP.NET MVC框架的学习项目,包含MVC的框架的设计思路,通俗易懂学习MVC框架,需要VS2010及以上版本打开,初学者可以快速理解MVC的构思以及开发。
为了项目需要,写了个简单的mvc框架,对初学者理解mvc有很大的帮助,同时对学习struts也有很大的帮助
用MVC模式和jsp实现的具有一些简单功能的小项目。适合初学者理解MVC模式,还是希望大家能在java这条路上学有所成
现在,Microsoft公司也加入了这个社区,ASP.NET MVC框架为应用程序开发人员提供利用成熟开发模式,开发易于理解、易于测试和易于维护的应用程序的新利器。《ASP.NET MVC实战》通过一个已经投产的代码营网站实例,...
微软官方Asp.net Mvc源代码,可以深入理解mvc的原理,内部实现
获得对ASP.NET MVC 5体系构架的完整理解 了解第ASP.NET MVC 5的新特性以及如何将这些新特性运用于开发 了解MVC及测试驱动开发的实际运作 充分利用已有的知识快速而方便地将传统的ASP.NET与ASP.NET MVC 5的特性进行...