MVC与MVP与MVVM模式学习笔记

本文深入解析了MVC、MVP及MVVM三种设计模式,阐述了它们在软件架构中的作用与区别。MVC最早源于Java领域,强调模型、视图与控制器的分离;MVP在此基础上进一步隔离了视图与模型,由Presenter进行协调;MVVM则通过ViewModel实现了视图与模型的自动同步。

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

MVC:

  • 最早出现在Java领域
  • 一般MVC分为:Model(模型)、Controller(控制器)和View(视图)
  • 基于分层的目的,让彼此职责分开
  • View一般通过Controller与Model进行联系
  • Controller是Model和View的协调者
  • View和Model不直接联系。基本联系都是单向的
  • 用户通过Controller来操作Model以达到View的变化

MVP:

  • 从经典的MVC模式演变
  • 两者基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示
  • Presenter完全把View和Model进行分离,主要的程序逻辑在Presenter中实现
  • Presenter与View是没有直接关联的,而是通过定义好的借口进行交互,从而使得在变更View的时候可以保持Presenter不变
  • 所以Presenter与Model与View是双向联系,但Model与View无联系

MVVM:

  • 相对于前面两种模式,MVVM只是把MVC的Controller和MVP的Presenter改成了ViewModel
  • View的变化会自动更新到ViewModel,ViewModel的变化也会自动同步到View上显示
  • 这种自动同步是因为ViewModel中的属性实现了Observer(观察者),当属性变更时都会触发对应的操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值