前端的MVC、MVP、MVVN

本文介绍了前端开发中的三种架构模式:MVC、MVP和MVVM。MVC存在View与Model高度耦合的问题,导致复用性和数据流管理复杂。MVP通过引入Presenter作为中介,解决了部分解耦问题,但开发者仍需关注DOM和数据。最后,MVVM通过ViewModel实现了双向数据绑定,使得开发者可以专注于Model的逻辑,降低了View与Model的耦合度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是MVC

 

 

MVC的基本思想

  • View告诉controller要更新数据
  • Controller操纵Model更新数据
  • Model数据更新后将View现实的东西更新

MVC的一些问题

  1. 如果View想更新,那就必须先通知controller,在更新model,然后再更新自己;开发者需要同时维护View和Model层。
  2. View与Model层高度耦合,复用性差。(比如原本View中的是list,model上传中数据突然要以table来展示,这时就要重新写一遍View中的代码)
  3. 数据流混乱,Model更新时如果View层触发了新的更新,那就必须再来一遍。

MVP诞生了

 

 

 

 

 

MVP做了什么

将Controller改成了中介层Presenter,由中介层接受View的指令、通知View渲染、接受Model传来的数据以及对Model中的数据进行更新。

MVP解决了什么

MVP将View与Model解耦,由Presenter决定让View渲染什么,充分发挥了逻辑层的作用。

但是!没有解决MVC第一个问题。开发者仍然需要两头照顾View(DOM)和Model(数据)。

MVVM出现了

 

MVVM的解决方案

MVVM在View和Model中间添加了ViewModel层,该层与Model层进行数据绑定并与View相连,因此View可以直接读取ViewModel中的数据进行更新。

MVVM的数据和逻辑都在Model中定义,让开发者得以专注Model,而不必关心具体的DOM。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值