Android中MVC、MVP、MVVM三种架构的区别

Android中MVC、MVP、MVVM三种架构的简介

  • MVC(Model View Controller)
  • MVP(Model View Presenter)
  • MVVM(Model View ViewModel)

架构

  • 关注点分离(separation of concerns)
  • 低耦合(Loose coupling)
  • 容易维护(Maintainable)
  • 容易被测试(Testable)

MVC

View:XML布局

Controller:Activity、Fragment

Model:管理数据来源(WebApi、设备内获取的数据)

MVP

View:Activity、Fragment、XML布局

Presenter:接收View的指令,决定资料如何显示

Model:管理数据来源

MVVM

View:Activity、Fragment、XML布局

ViewModel:接收View的指令

Model:管理数据来源

DataBinding

ViewModel

LiveData

选择MVVM的理由

  • MVVM解决了在MVP中View与Presenter循环相依的问题
  • ViewModel与View的分离更干净
  • DataBinding自动同步UI与Data

总结

使用MVC架构时,我们业务逻辑与View的操作都在ActivityFragment中进行,导致了业务逻辑与ActivityFragment的耦合度较高,不利于后期的维护。于是有了MVP架构,但是使用MVP架构也有明显的缺点,ViewPresenter之间通过Interface 相互依赖,通常我们需要定义较多的Interface 来满足业务的需求。而采用MVVM架构设计程序则帮助我们解决了这一系列问题。


Android中MVC、MVP、MVVM三种架构的区别
https://blog.funkt.cn/2021/07/01/1410444433186463746/
作者
anjiemo
发布于
2021年7月1日
许可协议
未经作者授权,禁止转载