关于MVC的自我理解
2015-09-19 20:51
225 查看
做前端有一段时间了。工作中就一直在用MVC这个组织结构。现在总结一下我自己的理解吧,有不妥之处,还请指点。
我的思维通常是,要用一个东西,首先要认识这个东西,也就是所说的认知能力吧。所以,开头先把今天的题目拆开来讲,每个字母都代表了什么。
M -- Model, 即模型;
V -- View,即视图;
C -- Controller, 即控制器。
好,现在展开来一一描述。
M -- model,这个东西,我的体会就是一个“数据中心”。在写软件的过程中,我们一直用代码来控制数据,控制它的流通和存储。那么,Model就可以看作是数据流通的一个中心。只要需要拿数据了,那么就是Model要发挥作用的时候。
V -- view, 在我看来,就是展示数据的地方。对于我的工作来说,就是html页面。那么这个就是把数据展示给用户的地方。
C -- controller,控制器。也就是控制model和view的中心。
分别认识三者后,现在来看一下它们的关系,这里也是比较重要的地方吧。
从操作一款软件的流程来看,也就是用户操作页面的过程。页面背后的东西对用户来讲则是透明的。所以,用户
最先从View开始操作,然后呢,肯定是要触发事件的,那么这个时候,绑定事件的这件事就会放到Controller中去处
理,如此,实现了View和Controller之间的连接。
那么,既然有了操作,那么就要有数据,这个时候,Controller又要到Model里面去拿数据, 可以想象成"Model兄
弟,给我来两斤数据". Model就要把数据给到Controller。此时,实现了Controller和Model的连接。
等Controller把数据拿回来后,就会交给View,说"这是两斤数据,你拿去展示给用户吧"。然后View身上就挂满
了数据,让用户读取。
总结一下,View上面展示数据,当获得用户操作后,Controller会捕捉到事件,然后就会调用Model的资源去请
求数据,接着再把Model请求回来的数据,送给View去展示。这样就完成了一次简单的页面操作处理。
至此,大家应该对MVC有了一个浅显的认识了。
本文为作者原创,转载请注明出处。
我的思维通常是,要用一个东西,首先要认识这个东西,也就是所说的认知能力吧。所以,开头先把今天的题目拆开来讲,每个字母都代表了什么。
M -- Model, 即模型;
V -- View,即视图;
C -- Controller, 即控制器。
好,现在展开来一一描述。
M -- model,这个东西,我的体会就是一个“数据中心”。在写软件的过程中,我们一直用代码来控制数据,控制它的流通和存储。那么,Model就可以看作是数据流通的一个中心。只要需要拿数据了,那么就是Model要发挥作用的时候。
V -- view, 在我看来,就是展示数据的地方。对于我的工作来说,就是html页面。那么这个就是把数据展示给用户的地方。
C -- controller,控制器。也就是控制model和view的中心。
分别认识三者后,现在来看一下它们的关系,这里也是比较重要的地方吧。
从操作一款软件的流程来看,也就是用户操作页面的过程。页面背后的东西对用户来讲则是透明的。所以,用户
最先从View开始操作,然后呢,肯定是要触发事件的,那么这个时候,绑定事件的这件事就会放到Controller中去处
理,如此,实现了View和Controller之间的连接。
那么,既然有了操作,那么就要有数据,这个时候,Controller又要到Model里面去拿数据, 可以想象成"Model兄
弟,给我来两斤数据". Model就要把数据给到Controller。此时,实现了Controller和Model的连接。
等Controller把数据拿回来后,就会交给View,说"这是两斤数据,你拿去展示给用户吧"。然后View身上就挂满
了数据,让用户读取。
总结一下,View上面展示数据,当获得用户操作后,Controller会捕捉到事件,然后就会调用Model的资源去请
求数据,接着再把Model请求回来的数据,送给View去展示。这样就完成了一次简单的页面操作处理。
至此,大家应该对MVC有了一个浅显的认识了。
本文为作者原创,转载请注明出处。
相关文章推荐
- 转圈打印二维数组
- 刚体运动研究方法——欧拉角四元数
- 散列表链接法用双向链表的原因
- 解决字段名与实体类属性名不相同的冲突
- 操作系统常见面试题
- Java基础之抽象类
- Java基础之抽象类
- Linux下多线程编程互斥锁和条件变量的简单使用
- Linux下多线程编程互斥锁和条件变量的简单使用
- 画时序图工具TimingDesigner 9.2 安装指导
- 个人代码管理
- 日志-eye track
- 正则表达式:
- 基于HSI颜色模型实现去除照片的“红眼现象”
- HDU 5200 Tree (离线并查集)
- HTML(网页设计)基础到加强
- 我所欣赏的一些学习习惯
- 数据结构之链表
- hdu 5452 Minimum Cut 求最小割边集的大小
- 使用C# 与Xero OAuth 交互 集成