浅析mvvm模式和mvc模式的区别和联系
Posted 会飞的一棵树
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析mvvm模式和mvc模式的区别和联系相关的知识,希望对你有一定的参考价值。
三层架构与MVC模式
三层架构
三层架构是一种以实现“高内聚,底耦合”为目标,的代码架构方法,它将整个业务分为,表示层,业务层,数据访问层(Dao层)。
MVC模式
MVC模式是一种软件设计的典范,一种组织代码的方法。
M 是 model 模型
V 是 view 视图
C 是 control 控制器
控制器是用来将不同的view和不同的model组织在一起。且mvc往往在三层架构中的表现层使用,如SpringMVC,Struct2等是优秀的用于表现层的mvc框架。MyBatis是常用于Dao层的框架。
区别
MVC是一种设计模式,是解决方案。三层架构是种软件架构方法。
MVVM模式
MVVM模式也是一种软件的架构模式,在它是(Model-View-ViewModel)的缩写,其核心是VM,VM是视图与模型之间的桥梁,它实现了视图与模型的相互映射。
在MVVM中模型的改变会引起视图的改变,视图的改变会引发模型的改变。
与MVC的异同
- MVVM没有MVC模式的控制器,也没有MVP模式的presenter,有的是一个绑定器。在视图模型中,绑定器在视图和数据绑定器之间进行通信。
- MVVM模式不同于MVC,在MVVM模式中,将ViewModel层绑定到View层后,它基本不使用点击事件,而是使用命令(Command)来控制。数据的显示也是不同于MVC,而是使用Binding来绑定相关数据。
MVVM实例
如VUE中的数据的双向绑定就是MVVM的一个应用:
<!-- 该dom下的div可以看作是view -->
<div id="example">{{message}}</div>
<script>
// data 可以看作是数据模型 model
// Vue对象vm就是ViewModel
var vm = new Vue({
el: \'#example\',
data: {message:\'zhangsan\'}
})
</script>
以上是关于浅析mvvm模式和mvc模式的区别和联系的主要内容,如果未能解决你的问题,请参考以下文章