【Vue】mvc,mvp,mvvm 的区别



总结:

  • MVC : view 视图层依靠 model 来进行更新渲染,当数据发生改变时。第一步: 通知 controller 进行更新,然后第二步 controller 再通知 model 进行更新。最后 model 才将 view 更新 , 这样大量的逻辑以及更新操作,都需要在controller 操作,则产生了大量代码,不利于维护,且 model 发生变更时很难判断是由 model 直接更改的,还是view用户操作更改的,这样使得数据流很混乱,且相互依赖耦合度高。
  • MVP: view 与 model 所有的操作都需要经过 Presenter 处理后才能进行,所有通知 view 与 model 数据变化的操作都是在 Presenter 进行,这样就完全分离了两端的联系,解决了耦合度问题,但是p端内容就很多了。
  • MVVM: 利用 viewmodel 替代 presenter, 同样也是所有的数据以及视图变动都是在vm上处理进行的,但是 vm 中利用 diff 算法,虚拟DOM等方式实现了一套数据响应式机制,自动响应 model 中的数据变化,同时实现了一套更新策略。自动将数据变化转换为视图更新,减少了大量的代码,极大的提高了效率,且利于维护。
相关推荐
Java后端的Ai之路4 小时前
06-React-Props
前端·react.js·前端框架
Flynt4 小时前
开源"间谍卫星"说数据全是真的,我把它的免key数据源挨个试了一遍
前端·开源·数据可视化
Csvn5 小时前
渲染管线
前端
程序员大阳5 小时前
副队长CSS教程(33)–圆角与透明
前端·css·透明·圆角
志尊宝5 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
鬼手点金5 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
柳杉5 小时前
借助 Codex 和可视化工作流,从调研到完整实现,3D 大屏竟然可以这么简单
前端·ai编程·数据可视化
IMPYLH6 小时前
HTML 的 <wbr> 元素
前端·html
Dovis(誓平步青云)6 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus
IT_陈寒7 小时前
Vite的这个问题坑了我三天,原来如此解决!
前端·人工智能·后端