MVC模式的设计思想

MVC模式的设计思想

ID:40300469

大小:178.50 KB

页数:25页

时间:2019-07-30

MVC模式的设计思想_第1页
MVC模式的设计思想_第2页
MVC模式的设计思想_第3页
MVC模式的设计思想_第4页
MVC模式的设计思想_第5页
资源描述:

《MVC模式的设计思想》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MVC模式的设计思想MVC模式是一种近年来使用比较广泛的为许多IT厂家和开发者所认可的一种设计模式,它和Web应用程序并没有直接的关系(事实上,它在很多非WEB应用程序中得到了使用),它不仅使得系统层次分明、职责清晰,而且使得系统更易于维护。在MVC模式中的三个关键部件及其主要功能职责是:TheModelComponent:主要负责业务域的业务目标的实现。TheViewComponent:主要负责对业务域的数据展现给客户端。TheControllerComponent:主要负责控制系统流程和用户输入状态在基于Java技术的Web应用程序中,Model

2、部分的主要组件是JavaBean和EJB,View部分的主要组件是HTML和JSP程序,Controller部分的主要组件是Servlet部分。下面列出了一些使用MVC模式的好处:1、       它将业务逻辑与展现分离开来,避免了将业务逻辑与展现混杂在一起带来的显示的不一致性和业务逻辑代码重复地分布在用于展现的代码中。2、       层次清晰,易于开发者对这三个部分分工与协作,易于维护者识别不同的层次实施不同的维护策略。3、       系统具有更好的重用性,包括用户界面的重用和业务逻辑处理包的重用,特别是业务逻辑处理包,如果遵循相应的java规

3、范,它不仅可以在web应用程序中使用,而且可以在包括桌面、分布式环境下的得到重用。4、       系统更易于扩展和移植。5、       系统更易于维护。6、       采用MVC模式开发的系统更健壮。7、       对于大型的应用程序优势更为明显。 谈到设计模式,可以想一下我们常用的jsp+bean和jsp+servlet+bean的模式天津英才网:http://022.job1001.comJSPModel1JSPModel2上图中,JSPModel1即JSP+JavaBean的模式,在这种模式下,处理客户端的请求和将输出展现给客户端都是由

4、JSP页面负责的,在模式1中,整个过程没有Servlet的参与,它将主要的业务逻辑放到JavaBean中实现,而将页面展现和请求控制交给JSP处理。不可否认jsp的开发模式简化了开发Web应用程序的复杂度,但是其缺点是显而易见的,由于jsp是在html中嵌入java代码的方式实现的,不可避免地,它也面临很多问题:如页面展现与业务逻辑混合在一起,仍然无法在开发过程中将不同的角色更清晰地区分开来;jsp页面中将会夹杂大量的java代码,维护变得困难;同时,业务逻辑的改动也将面临动一发而影响全局的窘境。JSPModel2即JSP+Servlet+JavaB

5、ean的模式,它和模式1的最大不同是它多了Servlet层,用于控制用户的请求和将JavaBean的业务输出传递给JSP来展现,这样就将数据展现、业务控制、业务逻辑实现分离开来,这就是早期的MVC(Model-View-Control)模式。显然,这种模式相对于jsp+bean的模式来说应用程序更具扩展性和灵活性,并且更易于维护。但是这种简单的MVC模式也有缺点,第一、没有成熟的MVC框架中所带有的各种强大和实用的功能,第二、配置文件不好管理,成熟的MVC框架支持多配置文件,而servlet的配置都写在web.xml中,这会导致web.xml文件难以

6、管理。因此有必要掌握一种成熟的MVC的开发框架。对于现有较成熟的Model-View-Control(MVC)框架而言,其解决的主要问题有下面几部分:1.将Web页面中的输入元素封装为一个(请求)数据对象。2.根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。3.逻辑处理单元完成运算后,返回一个结果数据对象。4.将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。 天津英才网:http://022.job1001.com数据封装和持久性      在MVC的设计思想中,数据在不同层之间的传递是以数值对象的形式进行封装的

7、,这里的数值对象是指不同层之间传输数据的容器,在不同的层中数据的传输应该封装在数值对象中(不可能把resultSet对象用于各层数据的传递,这有背于MVC的设计思想),这样能够提高网络传输效率(减少传输次数),同时使得维护更方便。通常数值对象就是一个Bean,它对数据库中的表或视图的字段进行了封装,一个数值对象可以看成表或视图中的一条记录。      一个简单的数据对象publicclassUser{  privateStringbh; privateStringname; publicStringgetName(){   returnname; }

8、 publicStringgetBh(){   returnbh; } publicvoidsetName(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。