MVC、MVP、MVVM三大架构区别

1、MVC架构

M(Model):主要处理数据的存储、获取、解析。

V(View):即Fragement、Activity、View等XML文件

C(Controller):主要功能为控制View层数据的显示,通常与写在Activity类、Fragment类、View类中,通过接口与Modle层进行通信,并将数据显示到View上。

(1)优点

实现了View层和Model层的分离,一个View可以连接多个Modle,一定程度上实现Modle的复用,且修改View层的代码不影响Modle层的。

(2)缺点

MVC架构的Controller层的与Activity、Fragment、View等类写在一起,一旦代码逻辑复杂则会导致Activity、Fragment类臃肿冗余,难以维护。

2、MVP架构

M(Model):主要处理数据的存储、获取、解析。

V(视图):负责显示数据和接收用户输入。

P(表示器):模型和视图之间的中间层

相关推荐
啊森要自信6 小时前
CANN ops-cv:面向计算机视觉的 AI 硬件端高效算子库核心架构与开发逻辑
人工智能·计算机视觉·架构·cann
2的n次方_7 小时前
CANN ascend-transformer-boost 架构解析:融合注意力算子管线、长序列分块策略与图引擎协同机制
深度学习·架构·transformer
Fushize8 小时前
多模块架构下的依赖治理:如何避免 Gradle 依赖地狱
android·架构·kotlin
大雨淅淅8 小时前
Eureka从入门到精通:开启微服务架构的钥匙
微服务·云原生·eureka·架构
狗哥哥10 小时前
微前端路由设计方案 & 子应用管理保活
前端·架构
Max_uuc10 小时前
【架构心法】对抗熵增:嵌入式系统中的“数据完整性”保卫战
架构
Tadas-Gao13 小时前
缸中之脑:大模型架构的智能幻象与演进困局
人工智能·深度学习·机器学习·架构·大模型·llm
晚霞的不甘14 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
代码改善世界15 小时前
CANN深度解构:中国AI系统软件的原创性突破与架构创新
大数据·人工智能·架构
晚霞的不甘15 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频