【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 中的数据变化,同时实现了一套更新策略。自动将数据变化转换为视图更新,减少了大量的代码,极大的提高了效率,且利于维护。
相关推荐
এ慕ོ冬℘゜4 小时前
jQuery 高可用多图上传组件(企业级封装 + 踩坑全解 + 可直接上线)
前端·javascript·jquery
爱勇宝5 小时前
AI 时代,前端工程师的话语权正在下降?
前端·后端
kymjs张涛5 小时前
一个月,纯VibeCoding,全平台云笔记APP
前端·javascript·后端
巴勒个啦5 小时前
esbuild 插件实战:5个真实场景带你自定义构建流水线
前端·angular.js
英勇无比的消炎药5 小时前
一文吃透TinyRobot Bubble:从基础组件搭建完整AI消息渲染体系
vue.js
秋雨梧桐叶落莳5 小时前
iOS——QQ音乐仿写项目总结
学习·macos·ui·ios·mvc·objective-c·xcode
狗头大军之江苏分军5 小时前
前端路由是怎么来的
前端·javascript·后端
英勇无比的消炎药5 小时前
深挖底层:TinyRobot Bubble消息气泡组件核心技术原理
vue.js
英勇无比的消炎药5 小时前
架构剖析:TinyRobot Bubble渲染器状态管理与工具调用机制
vue.js