MVC、MVP、MVVM 架构模式

MVC、MVP、MVVM 架构模式 这三种模式都是为了解决同一个核心问题:将 UI(视图)与业务逻辑(模型)解耦,让代码更易维护、可测试。 MVC(Model - View - Controller) 角色分工 角色 在 Android 中 职责 Model 数据层(网络、数据库、Repository) 数据的获取与处理 View XML 布局文件 负责界面展示 Controller Activity / Fragment 接收用户输入,协调 Model 和 View 核心问题 Android 中 MVC 的致命缺陷是:Activity/Fragment 既是 Controller 又是 View。 Activity 本身要 setContentView(View 的职责),又要处理点击事件与数据请求(Controller 的职责),导致 Activity 越来越臃肿。 // 典型的 MVC Activity,臃肿的 "上帝类" class UserActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_user) // View 的职责 btnLoad.setOnClickListener { // Controller 的职责:响应事件 // 直接调用网络,夹杂在 Activity 中 UserApi.getUser(userId) { user -> // Model 的职责 tvName.text = user.name // 又直接操作 View } } } } 问题总结: ...

March 18, 2026 · 5 min