什么是MVC ?

什么是MVC ?

记得第一次面试phper(php是对我来说可以快速上手的另一web开发语言),人家问我MVC,我只知道m就是model,v就是view,c就是Controller,具体把其它的认识我是一无所知,结果我被问得一问三不知!!我才知道自己多么的差劲。于是我决定不把它搞清楚不罢休!找到如下资料 

大中小  
模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 
MVC如何工作 

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 

视图 
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services. 

如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 

模型 
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 

控制器 
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。 

现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113611.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言之voliate「建议收藏」

    c语言之voliate「建议收藏」volatile:意思:“易变的”特点:1.告诉编译器不做任何优化2.用volatile定义的变量会在程序外被改变,每次使用都要在原始内存地址读取数据,不能被备份缺点:使用过多会降低代码性能使用场合:1.中断服务程序中为其他程序检测的变量,要用volaite2.多任务环境下各个任务间共享的标志,用volatile(操作系统)3.存储器映射的硬件寄存器用vol…

    2022年5月5日
    94
  • Red Hat Enterprise Linux 7.9 下载

    Red Hat Enterprise Linux 7.9 下载RedHatEnterpriseLinux7.7下载链接:https://pan.你懂的.com/s/1JzerTht7seAu93S2H9pljQ提取码:n8tv链接:https://pan.你懂的.com/s/14csR7RO6S0rb_GjOiA4U8w提取码:6s5o链接:http://guanjianfeng.com/archives/1159631链接…

    2022年5月6日
    52
  • gluster源码浅析

    gluster源码浅析gluster的volume是由一系列的translator组成的,translator就像输入输出流的堆栈式结构一样,由一个translator调用另一个translator,每个translator在运行时作为shared-object,根据不同的文件操作调用不同的函数.每个translator一般需要定义xlator_fops、xlator_cbks、init、fini、volume…

    2025年6月8日
    1
  • Restful api 防止重复提交

    Restful api 防止重复提交

    2021年11月6日
    50
  • double保留小数点后两位_保留两位小数点公式

    double保留小数点后两位_保留两位小数点公式publicclassDoubleTest{//保留两位小数第三位如果大于4会进一位(四舍五入)doublef=6.23556;/***使用精确小数BigDecimal*/publicvoidfun1(){BigDecimalbg=newBigDecimal(f);/…

    2025年8月25日
    1
  • git版本管理工具介绍(git管理工具有哪些)

    Git 是一个分布式版本控制工具,它的作者 LinusTorvalds是这样给我们介绍Git —— Thestupidcontenttracker(傻瓜式的内容跟踪器)1、Git背景Git最初由LinusTorvalds编写,用于Linux内核开发的版本控制工具。Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不必服务器端软

    2022年4月14日
    94

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号