- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MVC模式的設计思想
MVC模式的设计思想
MVC模式是一种近年来使用比较广泛的为许多IT厂家和开发者所认可的一种设计模式,它和Web应用程序并没有直接的关系(事实上,它在很多非WEB应用程序中得到了使用),它不仅使得系统层次分明、职责清晰,而且使得系统更易于维护。在MVC模式中的三个关键部件及其主要功能职责是:
The Model Component:主要负责业务域的业务目标的实现。
The View Component:主要负责对业务域的数据展现给客户端。
The Controller Component:主要负责控制系统流程和用户输入状态
在基于Java技术的Web应用程序中,Model部分的主要组件是JavaBean和EJB,View部分的主要组件是HTML和JSP程序,Controller部分的主要组件是Servlet部分。
下面列出了一些使用MVC模式的好处:
1、??????? 它将业务逻辑与展现分离开来,避免了将业务逻辑与展现混杂在一起带来的显示的不一致性和业务逻辑代码重复地分布在用于展现的代码中。
2、??????? 层次清晰,易于开发者对这三个部分分工与协作,易于维护者识别不同的层次实施不同的维护策略。
3、??????? 系统具有更好的重用性,包括用户界面的重用和业务逻辑处理包的重用,特别是业务逻辑处理包,如果遵循相应的java规范,它不仅可以在web应用程序中使用,而且可以在包括桌面、分布式环境下的得到重用。
4、??????? 系统更易于扩展和移植。
5、??????? 系统更易于维护。
6、??????? 采用MVC模式开发的系统更健壮。
7、??????? 对于大型的应用程序优势更为明显。
?
谈到设计模式,可以想一下我们常用的jsp+bean和jsp+servlet+bean的模式
JSP Model1
JSP Model2
上图中,JSP Model1即JSP+JavaBean的模式,在这种模式下,处理客户端的请求和将输出展现给客户端都是由JSP页面负责的,在模式1中,整个过程没有Servlet的参与,它将主要的业务逻辑放到JavaBean中实现,而将页面展现和请求控制交给JSP处理。
不可否认jsp的开发模式简化了开发Web应用程序的复杂度,但是其缺点是显而易见的,由于jsp是在html中嵌入java代码的方式实现的,不可避免地,它也面临很多问题:如页面展现与业务逻辑混合在一起,仍然无法在开发过程中将不同的角色更清晰地区分开来;jsp页面中将会夹杂大量的java代码,维护变得困难;同时,业务逻辑的改动也将面临动一发而影响全局的窘境。
JSP Model2即JSP+Servlet+JavaBean的模式,它和模式1的最大不同是它多了Servlet层,用于控制用户的请求和将JavaBean的业务输出传递给JSP来展现,这样就将数据展现、业务控制、业务逻辑实现分离开来,这就是早期的MVC(Model-View-Control)模式。显然,这种模式相对于jsp+bean的模式来说应用程序更具扩展性和灵活性,并且更易于维护。但是这种简单的MVC模式也有缺点,第一、没有成熟的MVC框架中所带有的各种强大和实用的功能,第二、配置文件不好管理,成熟的MVC框架支持多配置文件,而servlet的配置都写在web.xml中,这会导致web.xml文件难以管理。因此有必要掌握一种成熟的MVC的开发框架。
对于现有较成熟的Model-View-Control(MVC)框架而言,其解决的主要问题有下面几部分:
1. 将Web页面中的输入元素封装为一个(请求)数据对象。
2. 根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。
3. 逻辑处理单元完成运算后,返回一个结果数据对象。
4. 将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。
?
数据封装和持久性
?????? 在MVC的设计思想中,数据在不同层之间的传递是以数值对象的形式进行封装的,这里的数值对象是指不同层之间传输数据的容器,在不同的层中数据的传输应该封装在数值对象中(不可能把resultSet对象用于各层数据的传递,这有背于MVC的设计思想),这样能够提高网络传输效率(减少传输次数),同时使得维护更方便。
通常数值对象就是一个Bean,它对数据库中的表或视图的字段进行了封装,一个数值对象可以看成表或视图中的一条记录。
?????? 一个简单的数据对象
public class User{
??private String bh;
? private String name;
? public String getName() {
??? return name;
? }
? public String getBh() {
??? return
您可能关注的文档
- MSA作業指导书.doc
- msc公司對虚拟样机一体化仿真的理解.doc
- MSBZII變压器综合试验台技术方案.doc
- MSSQL2005服務器登录名角色数据库用户角色架构的关系.docx
- MSSQLServer2005網络服务器配置方法.doc
- MSTP技術在3G传输网络中的运用.doc
- mstp發展方向整合.doc
- MS計算能带图分析.doc
- MS碳納米管的三种原子构建.doc
- MT1104-2009_煤巷錨杆支护技术规范.doc
- 广西桂林市部分学校2024-2025学年高一下学期5月阶段检测语文试题(含答案).docx
- 云南省大理州2024-2025学年高一5月月考语文试题(解析版).docx
- 福建省泉州市第一中学2024-2025学年高二下学期第三次考试语文试题(解析版).docx
- 广西壮族自治区贵百河联考2024-2025学年高一5月月考语文试题(解析版).docx
- 长安神骐系列皮卡用户维修保养手册.pdf
- T_CBPIA+0013—2025_药用蛇毒生产质量管理指南.pdf
- 苏科版初中数学专题06 有理数的乘方(六大题型,40题)(原卷版).docx
- 苏科版初中数学专题4.1 一元一次方程及其解法【十二大题型】(原卷版).docx
- 苏科版初中数学专题06 有理数的乘方(六大题型,40题)(解析版).docx
- 苏科版初中数学专题01 正数和负数(七大题型,50题)(原卷版).docx
文档评论(0)