【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 中的数据变化,同时实现了一套更新策略。自动将数据变化转换为视图更新,减少了大量的代码,极大的提高了效率,且利于维护。
相关推荐
万少9 小时前
Vibe Coding不停歇,移动端 TRAE SOLO 让你用手机也能编程啦
前端·javascript·后端
kyriewen1110 小时前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
开发语言·前端·javascript·c++·单元测试·ecmascript
烛衔溟10 小时前
TypeScript 接口的基本使用 —— 定义对象形状
前端·javascript·typescript
铁皮饭盒11 小时前
成为AI全栈 - 第3课:路由 RESTful Elysia 状态码 设计规范
前端·后端·全栈
顾昂_11 小时前
Web 性能优化完全指南
前端·面试·性能优化
前端程序媛-Tian12 小时前
前端 AI 提效实战:从 0 到 1 打造团队专属 AI 代码评审工具
前端·人工智能·ai
支付宝体验科技12 小时前
Ant Design Pro v6.0.0 发布
前端
T畅N12 小时前
审批流设计器(前端)
前端·elementui·vue·html·流程图·js
AlunYegeer12 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
IT_陈寒13 小时前
Redis这个内存杀手,差点让我们运维半夜追杀我
前端·人工智能·后端