Node(后端)中的MVC与MVVM

muyiyl 285 0

区别

1.MVC是后端的分层开发概念
2.MVVM是前端视图层的概念,主要关注于 视图层分离,也就是说,MVVM把前端的视图层,分为了Model,View,VM(View Model)

概念

简单概括:

MVC

1.M:Model(模型)主要处理数据的CRUD(增加(Create)、查询(Read)、更新(Update)和删除(Delete))
2.V:View(视图)视图层,一般看作前端的页面
3.C:Controller(控制器)业务逻辑层,作用于模型和视图上,进行一些业务的逻辑处理,比如登录,注销等等。

MVVM

1.M:Model(模型) 后端传递的数据
2.V:View(视图) 所看到的页面
3.VM:ViewModel(视图模型) MVVM模式的核心,它是连接View和Model的桥梁
VM有两个方向:一是将【Model】转化成【View】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。
二是将【View】转化成【Model】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。
这两个方向是都可以实现的,即数据的双向绑定。
因此:在MVVM的框架下【View】和【Model】是不能直接通信的。它们通过【ViewModel】来通信,【ViewModel】通常要实现一个observer观察者,当数据发生变化,【ViewModel】能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图,【ViewModel】也能监听到视图的变化,然后通知数据做改动,这就实现了数据的双向绑定。并且MVVM中的【View】 和 【ViewModel】可以互相通信

MVC和MVVM的关系图解

Node(后端)中的MVC与MVVM

后记:vue中的MVVM 对应关系

Node(后端)中的MVC与MVVM

参考资料

[1].什么是MVVM,MVC和MVVM的区别,MVVM框架VUE实现原理 ——程序思维
[2].MVVM ——廖雪峰的官方网站

发表评论 取消回复
表情 图片 链接 代码

分享