博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于MVC整理
阅读量:4319 次
发布时间:2019-06-06

本文共 1656 字,大约阅读时间需要 5 分钟。

 

MVC

全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于 映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中

框架内容

MVC是一个框架模式,它强制性的使应用程序的输入、处理和 分开。使用MVC应用程序被分成三个核心部件:模型、 、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + + 的模式。
[5]
 
拆分讲解

视图

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由 元素组成的界面,在新式的Web应用程序中, L依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括 和像 , / , 等一些标识语言和 .
MVC好处是它能为应用程序处理很多不同的 。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
[6]  

模型

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

控制器

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

区别

框架和设计模式的区别
有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。
[7]  
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架 构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重 用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描 述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一 个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
 
框架模式有哪些?
MVC、MTV、 、CBD、 等等;
 
框架有哪些?
语言的QT、MFC、gtk,Java语言的 、 , 语言的 smarty(MVC模式), 语言的django(MTV模式)等等
 
设计模式有哪些?
、适配器模式、策略模式等等
 
简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度
 
链接:
http://baike.baidu.com/link?url=Tn3mC-Jd4BkUANmrOvPM1hwAQ91Kvt3dXuYv6qdANB1S5amjGRIA4cMj9nsuDk3EqSJ3Q4zjD3Dwa75lfV86XxHUBAOluT32CwzP-h55m33u1tf87C4p-GmTBtIbFTyE
 
 

转载于:https://www.cnblogs.com/hpulfc/p/4666573.html

你可能感兴趣的文章
08——别让常逃离析构函数
查看>>
echarts.js中的图表大小自适应
查看>>
Linux总结
查看>>
Delphi的FIFO实现
查看>>
springMVC入门(六)------json交互与RESTFul风格支持
查看>>
使用phpMyAdmin管理网站数据库(创建、导入、导出…)
查看>>
[NOI2018]屠龙勇士 excrt
查看>>
Educational Codeforces Round 18
查看>>
输入数字,用逗号隔开
查看>>
修改jq weui自定义对话框点击确定按钮不关闭对话框
查看>>
Js单元测试-分块延迟加载
查看>>
牛客网暑期ACM多校训练营(第一场) - J Different Integers(线段数组or莫队)
查看>>
(转)AS3 面相对象 高级话题
查看>>
Missile
查看>>
关于kindedit和 Uedit后者兼容前者
查看>>
微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package
查看>>
eclipse中使用git上传到githup,报401 Authorization Required
查看>>
基于Golang打造一款开源的WAF网关
查看>>
POJ 2955 Brackets
查看>>
Python: execute an external program (zz)
查看>>