您的位置:首页 > 其它

MVC学习

2013-04-02 09:01 246 查看
在设计模式或者体系结构中都会提到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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: