1、MVP
把视图、业务逻辑、数据分层;
Presenter 作为中间层主动调度 View 和 Model,View 和 Model 不直接通信。
缺点:接口多、Presenter 容易臃肿、需手动解绑 View,易内存泄漏。
2、MVVM
在 MVP 基础升级,去掉 Presenter ,改用 ViewModel 管理数据和业务;
基于观察者 / 数据驱动,View 订阅数据自动刷新 UI,不用大量接口回调;
ViewModel 生命周期独立,屏幕旋转保数据、解耦更好、不易内存泄漏。
3、MVI
是 MVVM 规范化加强版 ,采用单向数据流:
用户行为封装为 Intent → 业务处理 → 统一更新 State 页面状态 → View 订阅状态渲染 UI。
特点:状态唯一、单向流转、逻辑清晰、便于维护和调试,适合复杂业务页面。
面试一句话完整版
MVP 靠 Presenter 中间人调度,接口多耦合高;
MVVM 用 ViewModel + 数据驱动,解耦强、生命周期友好;
MVI 是 MVVM 规范化,统一 Intent 事件和 State 状态,单向数据流,架构更标准好维护。