MVC设计模式.ppt
文本预览下载声明
基于MVC的WEB设计模式新程PHP培训中心() 开篇 模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用 MVC是一种软件设计模式,不仅仅应用于WEB。在日常生活中处处可以找到类似于MVC的例子。 在WEB应用上,J2EE平台最先应用MVC设计模式,并成为一个事实上的标准。 taobao,baidu的设计模式:数据与显示分离 什么是MVC设计模式 1、模型(Model) 业务逻辑层。用于封装业务逻辑和数据模型。 2、视图(View) 表示层。就是与用户实现交互的界面,通常实现数据的输入和输出功能。3、控制器(controller) 控制层。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。 传统web开发模式与MVC模式的比较 MVC组件类型的关系和功能-2 MVC结构提供了一种按功能对各种对象进行分割的方法,其目的是为了将各对象间的耦合程度减至最小。MVC结构本来是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。但是,将这些概念运用于基于Web的企业级多层应用领域也是很适合的。 在MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务逻辑(business rule)。 当模型发生改变时,它会通知视图(View),并且为视图提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。 一个视图(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视负责维持数据表现的一致性。视图同时将用户要求告知控制器(Controller)。 控制器(Controller)定义了应用程序的行为;它负责对来自视图的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视作为对用户请求的应答。通常一组相关功能集对应一个控制器 。 视图 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XML、WML和Excel。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。 一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务逻辑的处理。业务逻辑的处理由模型(Model)完成。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 控制器 控制器(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。 划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。 控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 模型 模型(Model):就是业务流程/状态的处理以及数据模型的制定。 业务流程的处理过程对其它层来说是黑箱操作,模型接 受视图请求的数据,并返回最终的处理结果。 模型的设计可以说是MVC最主要的核心。 常见WEB开发语言的MVC框架 PHP:FleaPHP,CakePHP ,Joomla JAVA:Struts ,Spring Python:Django ,Quixote Ruby:Ruby On Rails jsp+servlet+javaBean实现MVC –流程 JSP作为视图,只用于显示 Servlet作为控制器,所有的请求,跳转都由servlet完成 业务逻辑部分由javabean完成 jsp+servlet+javaBean实现MVC –技术点 视图上用javabean来传递数据 jsp:useBean?id=“user?scope=“request? class=“com.yidaba.bean.Use
显示全部