ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

第301篇 架构演进史:从 MVC 到 MVI 的脉络

第301篇 架构演进史:从 MVC 到 MVI 的脉络

承接上一篇《性能阶段通关地图:五个阶段怎么递进》,那一篇是性能系列的收口,这一篇开启新的主题:架构。前两百多篇讲的是「怎么把某件事做好」,这一篇开始讲「代码组织方式如何影响可维护性」。

结论先行:MVC → MVP → MVVM → MVI 的演进不是「新架构比旧架构好」的替换过程,而是对同一个问题的持续再回答——状态如何管理、生命周期如何绑定、副作用如何收敛。每一种架构都是对上一代暴露出的问题的修正。理解这条演进链,比记住每个架构的组件定义更有价值。

一、演进的核心驱动:三个老问题

四种架构的差异可以归到三个反复出现的问题上。

问题表现演进中的修正手段
状态管理界面状态分散在控件和回调里,无法集中表达ViewModel 集中状态 → StateFlow 声明式状态
生命周期绑定逻辑与 Activity/Fragment 生命周期耦合,泄漏或错乱Presenter/ViewModel 脱离 View 生命周期 → 单向数据流
副作用治理网络、数据库、剪贴板散落在 UI 层Repository 封装数据源 → Intent/Effect 显式表达
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进