什么是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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java栈的使用_用java实现栈结构

    java栈的使用_用java实现栈结构Stack的基本使用初始化Stackstack=newStack判断是否为空stack.empty()取栈顶值(不出栈)stack.peek()进栈stack.push(Object);出栈stack.pop();实例:publicclassTest01{publicstaticvoidmain(String[]args){…

    2022年9月6日
    3
  • golang2021激活码3月最新在线激活「建议收藏」

    golang2021激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    68
  • JRTPLIB使用实例

    JRTPLIB使用实例这几天在看关于JRTPLIB方面的东西。在网上看了不少文章,其中有很大部分使用的JRTPLIB版本在3.0以下。在网上下载了一个JRTPLIB-3.7的库,发现里面的函数接口做了一些修改。现奉上一篇基

    2022年7月2日
    22
  • jquery拼音转汉字搜索[通俗易懂]

    jquery拼音转汉字搜索[通俗易懂]HTML:1DOCTYPEhtmlPUBLIC”-//W3C//DTDXHTML1.0Transitional//EN””http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>2htmlxmlns=”http://www.w3.org/1999/xhtml”>34head>5

    2022年7月24日
    9
  • vs2019 注册码_vs2019怎么激活密钥

    vs2019 注册码_vs2019怎么激活密钥VS2019正式版注册码秘钥VisualStudio2019EnterpriseBF8Y8-GN2QH-T84XB-QVY3B-RC4DFVisualStudio2019ProfessionalNYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y

    2022年10月13日
    0
  • redhat6配置yum源_centos7yum源的配置

    redhat6配置yum源_centos7yum源的配置一、配置本地yum源首先将已连接和启动时连接勾选上将操作系统镜像上传到虚拟机(/root)上创建一个挂载目录mkdir-p/dvd/iso将iso镜像文件挂载到/dvd/isomount/root/rhel-server-7.0-x86_64-dvd.iso/dvd/iso查看状态df-Th然后进入/etc/yum.repo/创建一个文件并编辑(文件名可以随便,但后缀必须为.repo)vimdvd.repo[dvd]name=dvd..

    2022年8月13日
    11

发表回复

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

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