MVC学习
来源:互联网 发布:mac office快捷键大全 编辑:程序博客网 时间:2024/04/30 01:35
在设计模式或者体系结构中都会提到MVC,那么MVC到底是框架还是一种设计模式,以我现在的理解我还不能定位,但是我觉得是一种软件设计理念,在构建比较大型
的程序时,每一个小的模块改动可能都会对程序的其他模块有很大的影响,所以前辈想出了MVC的模式,即将软件数据显示和控制分离。
把软件进行抽象,有数据,数据的显示,和数据的处理。将这三个大的模块独立,这样同样的数据就可以以不同的显示View,而显示层也不会真正的影响到数据层,所有
对数据的处理和事物都交给Controller,从View界面输入的数据也要交给Controller,增加了软件开发的灵活性,也使得软件本省的灵活性增加,同样的数据可以以不同的形式显
示。
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.
如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
为什么要使用 MVC
详细可参考一下两篇文章,我觉得介绍得比较详细:
http://struts2.group.iteye.com/group/wiki/1390-confusion-with-mvc-framework
http://www.cnblogs.com/liuhaijun/archive/2008/11/12/1332355.html
- MVC学习
- MVC学习
- MVC学习
- MVC学习
- MVC学习
- MVC学习
- MVC 学习
- mvc学习笔记-mvc概述
- MVC学习1-------------MVC流程
- 【Dongle】【MVC】MVC框架学习
- PHP学习 mvc 学习
- 架构学习之MVC
- mvc的学习
- 学习MonoRail MVC
- Spring MVC 学习案例
- .net mvc学习
- MVC WebCast学习笔记
- 如何学习MVC
- js 火狐下取本地路径
- android开发 常用技巧
- tcpdump长时间抓包
- IOS 推送消息 php做推送服务端
- A Matter of Interpretation
- MVC学习
- 优秀程序员无他-善假于物也
- map 和 unordered_map以char * 为key
- VS2008环境下编译使用SGI STL(using stlport 5.2.1)
- Android 自定义类库打包jar
- 什么是三极管的倒置状态及其作用!
- 操作系统中的进程与线程
- [delphi]ssl connection closed gracefully
- java从键盘输入数据——解析