对于angular 中MVC 和 MVVM 的一些个人理解
来源:互联网 发布:mysql install db 编辑:程序博客网 时间:2024/04/29 10:50
首先我们先从字面上理解一下 MVC :
M----> model 模型层(一般用于数据存储,存储一些业务逻辑),也就是我们说的数据模型。
V-----> view 视图层(界面),用来展示数据。
C-----> controller 控制层(管理),调度业务逻辑,联系数据和模板之间工作的逻辑代码。
MVC 是一种设计思想:
要了解这种思想,我们先来了解一下web 开发经历的几个阶段:
web 开发经服务器只读文件发送的时代, 然后经历了在服务器端拼接字符串生成html发送的时代,接着经历了分布式任务交给浏览器执行的时代,需求会不断的变化, 自然引入了模板, 也就有了分离的思想.
所以我们很自觉的将数据分离出来, 模板就是试图, 中间的逻辑代码就是控制器.
接下来我们可以这样理解MVC:
所谓的MVC就是 我们把网页代码按照视图 ,数据模型 和 控制器的方式进行分离;视图控制网页格式,数据模型控制数据,控制器就是联系数据和模板之间如何工作的逻辑代码。
MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。
view发送指令到controller--->controller完成逻辑之后,要求model改变状态--->model将新的数据发送到view,用户得到反馈。
MVC所有的通信都是单向的;
MVVM是MVC的变种和进阶,我们从字面上了解一下MVVM :
M----> model 模型层(一般用于数据存储,存储一些业务逻辑),也就是我们说的数据模型。
V-----> view 视图层(界面),用来展示数据。
VM--> ViewModel(视图模型) 也就是$scope。
在实际应用中,更多的是进行页面交互,而最后一次性向服务器提交处理(弱化了MVC中控制器的功能),增强了视图与模型的使用,因此将此称之为MVVM.
以前有人说过一句话:任何一个不能做的事情只要在中间加一层就可以实现了--我们在model 和 view 中间添加了一层ViewModel。
看图理解MVVM:
- 对于angular 中MVC 和 MVVM 的一些个人理解
- 对于MVVM的理解
- 对于NHibernate中延迟加载个人的一些理解
- 关于iOS中MVC和MVVM的一些思考
- 个人对于OO的一些理解
- 个人对于套接字的一些理解!
- 对于Java转型的一些个人理解
- 个人对mvc mvvm的理解---代码结构 IOS
- 对MVVM和MVC的理解
- iOS 我理解的MVC和MVVM
- reactivecocoa框架 、MVC 和 MVVM 的理解
- MVVM的一些理解
- Python中对于yield的个人理解
- 对于this和$(this)的个人理解
- 个人对于数组和缓冲区的理解
- 理解MVC模式和MVVM
- OpenCV中对于cvCreateImage和cvReleaseImage的一些小理解
- 对于路由表和三层转发(ping过程)的一些个人理解
- 高速ADC设计中不可忽视的一个参数-时钟jitter--补写
- python学习笔记-半角字符和全角之间的转换
- final和static关键字
- retrofit<一>
- 论文笔记:AlexNet模型
- 对于angular 中MVC 和 MVVM 的一些个人理解
- GBDT RF,rf 调参
- Windows CMD批处理
- jquery选择器之可见性筛选选择器
- HashMap的clear()操作和new HashMap的时间效率比较
- 存在着才有机会创造奇迹
- 事件委托
- 关于通过水质参数推测得出水质变化原因方法的一点心得
- python 简单业务爬虫