- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模型视图控制器模式的模式近来才主要得益于框架以及框架但是该模式并什么新鲜事物最早由挪威计算机科学家于世纪年代提出最称为模式解决挪威造船业的问题当时需要构建机构并而改变的信息系统当后来与团体在工作时将重新命名为模式一年后的其他研究实现了的一个版本并将其融入类库中从而使成为第一支持语言后来其他许多框架受到实现的启发最值得一提的是的主要应用程序环境是基于其前身和和都提倡使用模式从应用程序的角度第一个基于的框架是该框架用于构建应用程序及其他基于的应用程序框架也相继的原理在基于使用方法应用程序数据代码页面
模型-视图-控制器模式1.1 MVC的MVC模式近来才主要得益于Ruby on Rails框架以及ASP.NET MVC框架),但是该模式并什么新鲜事物。MVC最早由挪威计算机科学家Trygve Reenskaug于20世纪70年代提出。最称为Thing-Model-View-Editor模式,解决挪威造船业的问题。当时需要构建机构并而改变的信息系统。
当Trygve后来与SmallTalk团体在Xerox PARC工作时将重新命名为模式。一年后Xerox PARC的其他研究实现了MVC的一个版本并将其融入Smalltalk-80类库中,从而使Smalltalk成为第一支持MVC语言。
后来,其他许多GUI框架受到SmallTalk实现的启发,最值得一提的Cocoa,Cocoa是Apple Mac OS X的主要应用程序环境是基于其前身OpenStep和NextStepOpenStep和NextStep都提倡使用MVC模式。从Web应用程序的角度,第一个基于MVC的框架是Apache Strs,该框架用于构建JavaWeb应用程序。Ruby on Rails及其他基于MVC的应用程序框架也相继。1.2 MVC的原理
在基于ASP.NET(使用WebForm方法Web应用程序数据代码、页面设计代码和控制流代码。在实际中,除非分离这些元素,否则一些大型应用程序维护。
一种在软件应用中分离这些元素的方法是使用模型-视图-控制器模式。这种范例将应用程序分三部分,这部分与三层应用程序的个层。
Model)——?模型是应用程序的一部分,从数据库检索数据将数据转换为对象特定于域的细节。
Controller)——?控制器用协调各个操作处理和验证用户输入模型选择视图以及将数据传送至视图显示给用户。
View)——?视图是应用程序的前端将操作结果以及检索到的数据显示给用户。
将应用程序松组件具有多优点,有助于管理应用程序,使其当今IT项目快速变化今IT项目。称为MVC模式,但是其组件在此处并将贯穿书却是以Model-Controller-View,MCV)的序解释的,这感到迷惑。原因很简单:解释组件,最的方法是从模型开始,然后控制器最后视图。而MCV不如MVC听起来顺耳。
在MVC模式的特有优点之前,下节将首先基于MVC的应用程序的工作流程1.3 MVC模,MVC模式的核心是应用程序各部分严格分离。图1-1示了应用于Web应用程序MVC模式。
图1-1
源于在Apache Struts中首次该模式,这种实现方式Front Controller或Model 2。Model 2是Model 1命名的,Model 1是Web应用程序的旧发式,这种方式,页面从用户输入信息到检索数据传送到浏览器的标记。WebForms范例开发的大多数Web应用程序
Model 2和 Model 1是-控制器-视图模式的两种不同形式的名称,而不是模式不同类型。本节讨论-视图-控制器的不同形式,-视图-控制器模式的
请求流程按以下顺序进行:
(1) 用户在地址栏输入URL页面上按钮与浏览器互。由此开始请求(图1-1中的步骤1)
(2) 请求被传送至控制器,控制器对用户输入的信息进行一些验证(“用户ID是否有效?是数字还是字符串?”),并委托模型执行请求(图1-1中的步骤2)。
(3) 控制器根据模型返回的结果,继续安排处理过程。它选择需要呈现给用户的正确视图,并调用该视图(图1-1中的步骤3)。例如,如果模型返回的结果表明用户希望购买的商品并不存在,那么,与用户希望购买的产品存在时所呈现的视图是不一样的。
(4) 此后,视图调用控制器选择的模型,要求获得需要填入页面的数据(图1-1中的步骤4和步骤5)。在此期间,除了检索数据外,不执行任何逻辑或处理决策操作。
(5) 最后,视图接收所需要的数据,将其格式化为适当的形式,然后将响应传递给用户(图1-1中的步骤6)。
应用程序的每一部分完成明确的任务,只有在传递操作结果时才与其他组件通信。
您可能在博客上见过有关“路由”组件的内容。该组件负责将请求传递给恰当的控制器。该组件并非MVC模式本身的一部分,而是ASP.NET MVC的实现细节之一。第2章将简要介绍该组件,第7章将做详细论述。
1.3.1 被动视图
有些人已经开始考虑进一步分离Front Controller模
图1-2
在这种MVC形式中,处理流程的前两个步骤与传统MVC模式相同,但是接下来的步骤则大相径庭。
(1) 如前所述,用户与浏览器,开始请求(图1-2中的步骤1);
控制器接收验证请求,模型执行(图1-2中的步骤2);
模型访问数据库并将检索到的数据返回给控制器(图1-2中的步骤3);
控制器选择视图并将前模型检索到的数据传给视图。实际上,控制器传完
文档评论(0)