news 2026/5/29 18:48:03

MVC、MVP、MVVM 架构 笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MVC、MVP、MVVM 架构 笔记

个人笔记 by Ai, 如有错误 望指正谢谢


一、主流 Web MVC

流程:用户操作 →Controller-请求读/改数据 →Model-执行请求并返回结果 →Controller-传递结果→View-根据结果更新页面

这里的 View不依赖Model行为,但大概率依赖数据契约,简单说就是 Model 负责规定数据“有什么”,View 则根据这些数据的格式来决定页面“怎么显示”。属于耦合度偏低的数据耦合。


二、经典 MVC

流程①:View-主动监听 →Model-数据变动后通知 →View-拉取变动后的数据更新页面

流程②:用户操作 →Controller-请求读/改数据 →Model-变更数据,通知观察者(这里指的View)

View持有Model引用,但只读不写,同上面本质上是一回事,数据耦合、轻耦合。


三、MVP

流程:用户操作 →Presenter-读/改数据 →Model-返回结果 →Presenter-操控→View

和上面的主流 Web MVC非常相似,不同是View:

  • ViewModel完全无耦合。
  • View更抽象更通用化,它可能提供一系列元素或调用接口,供Presenter自由实现

举例:一个通用的账户登录页面,页面包含标题、背景图、账号密码输入框、登录按钮,以及错误弹窗。采用 MVP 架构时,View 只需定义好这些 UI 元素,可能再封装一个弹窗调用方法就完了。它就像一个纯静态界面,只负责展示视图本身,完全不理解按钮、输入框对应的业务逻辑,具体功能实现全部交由 Presenter 处理。

如果换成上面主流的 Web MVC,情况就大不一样了: View清楚自己是登录界面。用户点击登录后,它会把账号和密码传给 Controller 做校验,拿到结果后自主判断对错,校验失败就弹出提示。同时它还会主动校验输入内容,一旦发现账号或密码为空,立刻弹窗提醒。还有页面标题显示的是什么,View 也会主动问问 Controller 。


四、MVVM

流程:

用户操作 View → ViewModel处理 → Model更新 → ViewModel更新 → View自动刷新

数据驱动视图!自动同步!View ← 双向绑定 → ViewModel

和 MVP 中的 View 一样,MVVM 的 View 也完全不关心业务逻辑。用户产生操作时,View 仅将事件传递给 ViewModel,由 ViewModel 全权处理业务逻辑与数据加工。二者最大的不同在于,MVVM 额外增加了数据绑定机制:View 在初始化阶段就会和专属的 ViewModel 完成绑定,此后只要 ViewModel 内部数据发生变化,View 便会自动同步展示最新内容。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 18:43:54

探索无线电世界:SDR++全功能入门与实战指南

探索无线电世界:SDR全功能入门与实战指南 【免费下载链接】SDRPlusPlus Cross-Platform SDR Software 项目地址: https://gitcode.com/GitHub_Trending/sd/SDRPlusPlus 想要收听飞机与塔台的对话?对神秘的卫星信号充满好奇?还是想捕捉…

作者头像 李华
网站建设 2026/5/29 18:39:59

Jenkins通过kubernetes连接K8s集群

在jenkins网页设置下载插件:kubernetes 重启jenkins 点击Clouds 点击New Cloud查看K8S集群地址:kubectl cluster-info输出解密后的证书内容:k8s_crt$(cat /etc/kubernetes/admin.conf | awk -F: /certificateauthority-data/{print $2} | tr …

作者头像 李华
网站建设 2026/5/29 18:37:12

基于LoRa与4G的物联网空气监测系统搭建指南

1. 项目概述与核心价值如果你是一个植物爱好者,拥有一个精心打理的后院花园,或者经营着一片小型自给自足的农场,那么一套高效、准确且能远程查看的空气监测系统,绝对是你不可或缺的得力助手。在追求绿色生活的同时,我们…

作者头像 李华
网站建设 2026/5/29 18:32:11

矩阵系统在企业内容管理与数字获客中的实践分析

一、企业为什么需要矩阵系统随着企业数字化运营的推进,单一平台和单账号运营模式已经难以支撑多渠道、多用户群体的需求。企业需要同时在多个短视频、图文、自媒体和社交平台上发布内容,并对用户互动和线索进行跟踪。矩阵系统的核心价值并不在于增加账号…

作者头像 李华