Android 架构思考:从 MVC 到 MVVM 演进

摘要:​ 回顾 Android 开发架构的变迁,分析 MVVM 架构的优势及 LiveData/StateFlow 的使用。

正文:

随着项目代码量的增加,如果不注重架构,Activity 很快就会变成“上帝类”(God Object),充斥着业务逻辑和 UI 代码。

MVC 的痛点

Model-View-Controller 模式下,View 和 Controller(Activity)耦合太紧,不便于单元测试。

MVVM 的解耦

Model-View-ViewModel 通过数据绑定(Data Binding)或响应式流(LiveData/Flow)实现了视图与逻辑的分离。

  • View:Activity/Fragment,只负责展示 UI。
  • ViewModel:存放界面相关的数据和处理逻辑,不持有 View 引用。
  • Model:数据仓库。

使用 Kotlin Flow 配合 ViewModel 是目前的主流做法,它能很好地处理异步数据流,避免了内存泄漏风险。

结语:好的架构不是一蹴而就的,需要在不断的重构中优化。这个测试站也会持续更新我在架构探索上的心得。

类似文章