【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 中的数据变化,同时实现了一套更新策略。自动将数据变化转换为视图更新,减少了大量的代码,极大的提高了效率,且利于维护。
相关推荐
hunterandroid几秒前
RecyclerView 进阶:DiffUtil 与列表更新
前端
_codeOH1 分钟前
Vue 3 vs React 19:框架还在卷,核心原理就这些
前端·vue.js
the_answer2 分钟前
CSS 新时代:浏览器原生能力如何重塑前端开发范式
前端
不会写DN4 分钟前
固定背景图不随页面滚动的完美方案
前端
天蓝色的鱼鱼9 分钟前
Vite 8 换上 Rolldown 后,前端构建真的会快很多吗?
前端·vite
梦曦i17 分钟前
全面解析uni-router v1.2.0功能
前端·uni-app
Yiyaoshujuku28 分钟前
化学谱图数据API接口,数据字段一览!
linux·服务器·前端
雮尘1 小时前
LangGraph 与 LangSmith 入门教程(JS/TS 版)
前端·人工智能·langchain
英勇无比的消炎药1 小时前
新手必看玩转TinyRobot一定要避开这些坑
前端·vue.js
持敬chijing1 小时前
Web渗透之前后端漏洞-文件上传漏洞-过滤绕过与配置文件漏洞-条件竞争漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析