Android:MVC、MVP、MVVM模式的详解

在 Android 开发中,MVC(Model-View-Controller)、MVP(Model-View-Presenter)和 MVVM(Model-View-ViewModel)是三种常见的架构模式。每种模式都有其独特的优缺点和适用场景。以下分别通过结构、工作流程、优缺点,对这三种模式详细比较和解释的整理。

1. MVC(Model-View-Controller)

结构
  • Model: 负责应用程序的数据和业务逻辑。
  • View: 负责显示数据(UI),并向用户展示信息。
  • Controller: 处理用户输入,更新 Model 和 View。
工作流程
  1. 用户与 View 交互(例如,点击按钮)。
  2. View 将用户输入传递给 Controller。
  3. Controller 更新 Model。
  4. Model 通知 View 更新(通常通过回调或观察者模式)。
优点
  • 简单易懂,适合小型应用。
  • 直接的用户交互和数据更新。
缺点
  • 随着应用复杂度增加,Controller 可能变得臃肿。
  • View 和 Controller 之间的耦合度较高。
  • MVC 示例中,Activity 直接与 Model 和 View 交互,适合简单的应用。
MVC 示例:

在 MVC 模式中,Activity 充当 Controller,负责与 Model 和 View 交互。

// Model
class CounterModel {
    var count: Int = 0
}

// MainActivity (Controller)
class MainActivity : AppCompatActivity() {
    private lateinit var model: CounterModel

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        model = CounterModel()
        val countTextView: TextView = findViewById(R.id.countTextView)
        val incrementButton: Button = findViewById(R.id.incrementButton)

        incrementButton.setOnClickListener {
            model.count++
            countTextView.text = "Current Count: ${model.count}"
        }
    }
}

布局文件 (res/layout/activity_m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值