在Jetpack Compose中使用MVP和MVVM以及它们之间的区别

在Jetpack Compose中使用MVP和MVVM以及它们之间的区别

MVP(Model、View、Present)和MVVM(Model、View、View Model)是两种常见的架构模式,它们都是在通过分离不同的职责来提高代码的可维护性和可扩展性,但它们在实现方式和概念上有所不同。

1、MVP

MVP应用分为三层:

  • Model:负责处理数据和业务逻辑。它可以从数据库、网络、硬件设备等来获取数据,并提供给Presenter。

data class User(val name: String, val age: Int)

interface UserRepository {
   
    fun getUser(): User
}

class UserRepositoryImpl : UserRepository {
   
    override fun getUser(): User {
   
        return User("Grace", 32)
    }

}
  • View:负责显示数据和处理用户界面。它实现了UI元素的渲染,但不直接处理逻辑。

interface UserView {
   
    fun displayUser(user: User)
}

class MvpActivity : ComponentActivity(), UserView {
   

    override fun onCreate(savedInstanceState: Bundle?) {
   
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
      val  presenter = UserPresenter(this, UserRepositoryImpl())
        presenter.loadUser()
    }

    override fun displayUser(user
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值