MVC设计模式中的“视图模型”与“视图”.docVIP

MVC设计模式中的“视图模型”与“视图”.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MVC设计模式中的“视图模型”与“视图”.doc

MVC设计模式中的“视图模型”与“视图” 摘 要:MVC是八十年代Xerox PARC为Smalltalk发明的一种软件设计模式,至今已被广泛应用到软件设计与研发中。然而,在软件项目研发与教学中经常会遇到对MVC理解不清的问题,尤其是对“视图模型”和“视图”的概念不清,导致对MVC模型的错误应用。本文通过实例详细讲解“视图模型”和“视图”的异同,从而使读者更好的应用MVC设计模式。 关键词:MVC设计模式;视图模型;视图 中图分类号:TP393.09 MVC全称为Model-View-Controller,翻译成中文就是模型-视图-控制器的意思,它是一种软件设计思想,采用这种设计思想可以使业务逻辑和数据显示分离,既可以提高程序的可读性和易维护性,又可以提高软件研发的工作易分解性和项目管理的可控性。 然而,在实际项目中,经常会遇到对MVC理解不清,从而导致增大程序的复杂性,破坏程序的可读性。造成这一问题的主要原因是对“视图模型”和视图的错误理解上。因此,本文通过实例讲解来详细的说明“视图模型”和“视图”,使读者能够更好应用MVC设计模式。 1 MVC模型的概念及作用 MVC是一种设计思想,是一个框架模式,它对应着应用程序的输入、处理和输出。使用MVC的应用由三个核心组成:模型、视图、控制器。它们各自处理自己的任务。 1.1 模型 模型是指所研究的系统、过程、事物或概念的一种表达形式,也可指根据实验、图样放大或缩小而制作的样品。MVC中的模型通常表示企业数据和业务规则。用来表示企业数据的模型被称作数据模型,比如EJB中的实体Bean、.NET中的实体数据模型等;用来表示业务规则的模型被称为业务逻辑模型,如EJB中的业务Bean、DAO等。 1.2 视图 视图是指用户看到的,并与用户实现交互的界面。在Web应用程序中,视图既可以是由HTML元素组成的界面,也可以是Adobe Flash、XHTML、XML/XSL、WML等一些可以由浏览器识别的标识语言。 1.3 控制器 控制器接受用户的输入并调用相应的模型并组建视图显示给用户,完成交互并满足用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定组成什么样的视图来显示返回的数据。 2 视图模型和视图 2.1 视图模型与视图异同 从模型、视图、控制器的定义可以看出,视图模型是用来描述视图样式的特殊模型,在视图模型中既包括最基本的界面展现语言如HTML/XML/CSS/JS等,又包含数据占位符等特定编程语言下的标记信息。而视图是指用户所能看到的东西,既用户界面。 2.2 视图模型与视图的请求/响应实例 如图2所示,用户在客户端发出请求,此时与用户进行交互的是用户界面,用户界面就是视图。视图中包含了各种控件。用户通过点击、输入等操作向服务端发出请求,服务端首先由控制器负责调用对应用户请求的业务逻辑模型,该业务逻辑模型负责处理用户的请求,将数据模型实例化并根据视图模型组装视图,并将视图返回给客户端。客户端根据返回的视图更新用户界面。从而完成一个完整的请求响应周期。 以目前比较流行的SSH框架为例,如图3所示,Struts2容器中的ActionServlet起到前端控制器的作用;StrutsAction起到普通控制器的作用;JSP起到了视图模型的作用;从某种意义上说Struts配置文件相当于数据模型。在Spring容器中,存在大量的业务逻辑组件,这些组件相当于业务逻辑模型(包括Hibernate容器的数据访问对象DAO)。在Hibernate容器中存在大量的实体类,这些实体类对应的是数据模型。 从视图的定义可以知道,视图是指用户看到的“东西”。而JSP是存在于客户端的Struts2容器中,只能被容器识别的组件。因此,我认为JSP不能算作视图,而是一个“视图模型”。真正的视图是由JSP和数据模型组装后返回给浏览器的HTML页面。 3 结束语 因些,在应用MVC模型进行系统架构和程序设计时,要注意视图模型和视图是有区别的:视图模型是组成视图的重要组成部分。视图是业务逻辑模型将数据模型填充到视图模型中的产物。 参考文献: [1]王斐.MVC设计模式中视图层的改进[J].科学技术与工程,2009-11,9(22). [2]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].电子工业出版社. [3]吴建设.MVC设计模式在WEB应用程序中的研究与实现[J].2006,2. [4]MVC框架.百度百科.网络资料. 作者简介:栗新雨(1978-),男,黑龙江人,工程师,硕士,从事软件设计与开发及相关教学改革工作。 作者单位:北京信息职业技术学院,北京 100018

您可能关注的文档

文档评论(0)

lnainai_sj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档