MVC初认
初探MVC
何谓MVC
简单来说就是开发程序时所使用的一种“架构(框架)”。它就是开发的一种观念,或者说是存在已久的设计规则。我们知道在开发过程中总会伴随着需求、技术、客户、老板等因素的变化,给开发带来质量与维护上的伤害,这个事实也无法逃脱,而MVC就能化解这种伤害,至此它就成了一种有效的解决方案。
MVC组成单元
- Model:负责定义信息格式月信息访问的界面,包括商业逻辑与信息验证。
- View:负责用户界面相关呈现,包括输入与输出。
- Controller:负责控制系统的运行流程、跟浏览器的交互、决定网页操作的流程与动线、响应客户端的各种要求、错误处理等等。
Model职责
- 定义数据结构
- 负责与数据库沟通
- 从数据库读取数据
- 将数据写入数据库
- 运行预储程序
- 数据格式验证
- 定义与验证商业逻辑规则
- 对数据进行各种加工处理
View职责
- 输出
- 从Controller获取数据,并显示在用户界面上
- 决定要用什么来呈现“用户界面”(HTML、XML、Silverlight、Flash等)
- 负责界面的排版、字型、颜色、美观与各种呈现方式
- 将Controller传送的数据显示于界面,而数据多是来自Model的定义
- 输入
- 负责将数据 送回Controller
- HTML窗体通过GET或POST输出数据
- 决定数据送到哪个Controller的Action中
- 决定数据传送的方式,如:GET、POST、XML HTTP Request
- 前段的基本数据格式验证
Controller职责
- 决定于用户沟通的管道,以ASP.NET为例就是HTTP或者HTTPS
- 决定系统运行的流程,如:接到数据立即转向(Redirect)另一个页面
- 负责从Model中取得数据
- 决定显示的View
Model-View-Controller之间的关联性

MVC初认的更多相关文章
- hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题
文章转载于:hexo博客yili主题个性化自定义教程(1) --借鉴中学习,初认yili主题 这个博客跌跌撞撞也弄了好多天了,由于Next主题不知道什么情况,被我玩坏了.所以换了一个主题. 大名鼎鼎的 ...
- ASP.NET MVC 初体验
MVC系列文章终于开始了,前段时间公司项目结束后一直在封装一个html+ashx+js+easyui的权限系统,最近差不多也完成了,迟些时候会分享源码给大家.当然这个MVC系列结束后如果时间允许还会另 ...
- MVC – 4.mvc初体验(2)
5.显示学员列表 效果 数据表 5.1 首先,在文件夹Models新建一个新建项(W),选择ADO.NET 实体数据模型 (SingleTest.edmx) 5.2 建一个控制器,StudentsCo ...
- MVC – 4.mvc初体验(1)
1.MVC请求模式 2.MVC简单请求流程图 展开 折叠 3.返回string的mvc方法 展开 折叠 4.加载视图的方法
- maven+spring mvc初尝试
只是一个可以运行的例子,俺们来看看. 目录结构: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...
- 第23章 Spring MVC初体验
23.1 鸟瞰Spring MVC 粗略的介绍了SpringMVC的主要组成部分,SpringMVC作为一个Web层的框架,最大的作用是把我从繁重的web.xml文件编写中解救出来,再也不要不停的添加 ...
- MVC – 4.mvc初体验(2)
5.显示学员列表 效果 数据表 5.1 首先,在文件夹Models新建一个新建项(W),选择ADO.NET 实体数据模型 (SingleTest.edmx) 5.2 建一个控制器,StudentsCo ...
- MVC – 4.mvc初体验(1)
1.MVC请求模式 2.MVC简单请求流程图 展开 折叠 3.返回string的mvc方法 展开 折叠 4.加载视图的方法
- ASP.NET MVC学习---(五)MVC初体验
经过之前n多的铺垫 我们已经大概了解了这个姓m名vc的家伙了 那么今天我们就来体验一把 怎么体验呢? 就来做一个小例子吧~ mvc增删改查的例子 数据库还是之前我们的老朋友 关系图: 表中的数据已填好 ...
随机推荐
- 【译】怎样编写移动优先的CSS
原文:How To Write Mobile-first CSS 作者: 译者:huansky 构建响应式网站是今天前端开发人员必备的技能. 当我们谈论响应式网站时,移动优先这个词立刻就会浮现. 我们 ...
- HTTP学习四:SPDY和HTTP/2.0
1 HTTP1.0/1.1与HTTPS的不足 1.1 HTTP1.0/1.1不足 单路连接 HTTP 协议的最大弊端就是每个 TCP 连接只能对应一个 HTTP 请求,即每个 HTTP 连接只请求一个 ...
- ssh(sturts2_spring_hibernate) 框架搭建之spring
一.spring总结: ⑴.spring是一个轻量级的JAVA开发框架,主要的作用是用来管理实例(可以解决JAVA类中new对象的问题,节省内存资源.)和降低代码之间的耦合性,促进代码模块化. ⑵.促 ...
- js对象、数组转换字符串
对象转换成字符串需要使用toString()方法. 1 var a = function(){ 2 console.log(111); 3 }; 4 var b = a.toString(); 5 c ...
- OpenCascade Matrix
OpenCascade Matrix eryar@163.com 摘要Abstract:本文对矩阵作简要介绍,并结合代码说明OpenCascade矩阵计算类的使用方法. 关键字Key Words:Op ...
- AIX下tar解包问题
今天,在AIX下安装tomcat,上传的版本是apache-tomcat-6.0.41.tar.gz,但用tar解压时出现以下问题: # tar xvf apache-tomcat-6.0.41.ta ...
- Yii的学习(5)--Active Record的关联
官网原文:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.arr 官网中后半段为英文,而且中文的内容比英文少一些,先放到这里,之后有时 ...
- 《HelloGitHub月刊》第04期(秋招临近,本期加入了面试相关的项目)
兴趣是最好的老师,而<HelloGitHub> 就是帮你找到兴趣! 因为我比较熟悉python语言,所以月刊中python语言的项目居多,个人能力有限,其他语言涉及甚少,欢迎各路人士加入, ...
- Elasticsearch 管理文档
ES支持近实时的索引.更新.查询.删除文档,近实时就意味着刚刚索引的数据需要1秒钟后才能搜索到,这也是与传统的SQL数据库不同的地方. 更多的ES文档资料参考:Elasticsearch官方文档翻译 ...
- Elasticsearch——使用_cat查看Elasticsearch状态
Elasticsearch通过使用JSON来作为沟通的数据格式,这对于开发者来说很友好,因为很多程序都支持JSON格式.比如js就不说了,Java也有fastjson,ruby什么的都自带json. ...